Re: [PATCH 2/2] git repack: keep commits hidden by a graft
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jul 24, 2009, 09:37 UTC
- Message-ID
- <alpine.DEB.1.00.0907241136081.19988@intel-tinevez-2-302>
- In-Reply-To
- <20090724053506.GB12855@atjola.homenet>
Hi,
On Fri, 24 Jul 2009, Björn Steinbrink wrote:
Show 22 quoted lines
> On 2009.07.23 22:13:43 -0700, Junio C Hamano wrote:
> > Johannes Schindelin <johannes.schindelin@gmx.de> writes:
> >
> > > diff --git a/commit.c b/commit.c
> > > index a47fb4d..ef8e911 100644
> > > --- a/commit.c
> > > +++ b/commit.c
> > > @@ -262,7 +262,7 @@ int parse_commit_buffer(struct commit *item, void *buffer, unsigned long size)
> > > bufptr[47] != '\n')
> > > return error("bad parents in commit %s", sha1_to_hex(item->object.sha1));
> > > bufptr += 48;
> > > - if (graft)
> > > + if (graft && (graft->nr_parent < 0 || grafts_replace_parents))
> > > continue;
> >
> > Hmm, what is this "if it is negative" check for? I did not see it
> > mentioned in the proposed commit log message.
>
> That's for the special grafts for shallow clones. They override the
> other grafts, and are identified by the negative nr_parent value. Those
> have to stay in effect as the original parents aren't present in the
> repo.Right. How about a comment above the if():
/* * If nr_parent is negative, the commit is shallow, and * we must not traverse its real parents. */
Hmm?
Ciao, Dscho