On Friday 03 November 2017 at 01:32 pm -0700, Jonathan Tan wrote:
> On Thu, 2 Nov 2017 20:31:17 +0000
> Jeff Hostetler <[email protected]> wrote:
> > diff --git a/builtin/index-pack.c b/builtin/index-pack.c
> > index a0a35e6..31cd5ba 100644
> > --- a/builtin/index-pack.c
> > +++ b/builtin/index-pack.c
> > @@ -222,6 +222,16 @@ static unsigned check_object(struct object *obj)
> > if (!(obj->flags & FLAG_CHECKED)) {
> > unsigned long size;
> > int type = sha1_object_info(obj->oid.hash, &size);
> > +
> > + if (type <= 0) {
> > + /*
> > + * TODO Use the promisor code to conditionally
> > + * try to fetch this object -or- assume it is ok.
> > + */
> > + obj->flags |= FLAG_CHECKED;
> > + return 0;
> > + }
> > +
> > if (type <= 0)
> > die(_("did not receive expected object %s"),
> > oid_to_hex(&obj->oid));
>
> This causes some repo corruption tests to fail.
Confirmed: I see this patch, or at least f7e0dbc38 ("clone, fetch-pack,
index-pack, transport: partial clone", 2017-11-02), causing t5300.26 to
fail on 64-bit Cygwin.
For the sake of anyone trying to reproduce this, I needed to cherry pick
66d4c7a58 ("fixup! upload-pack: add object filtering for partial clone",
2017-11-08) onto that commit before I was able to get it to compile.
Adam