Web lists-archives.com

Re: [PATCH 02/14] clone, fetch-pack, index-pack, transport: partial clone




On Friday 03 November 2017 at 01:32 pm -0700, Jonathan Tan wrote:
> On Thu,  2 Nov 2017 20:31:17 +0000
> Jeff Hostetler <git@xxxxxxxxxxxxxxxxx> 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