Subject: Re: Is fetch.writeCommitGraph (and thus features.experimental) meant to work in the presence of shallow clones?

From: Taylor Blau <[email-masked]>
Date: Wed, 15 Apr 2020 18:47:34 -0600

On Wed, Apr 15, 2020 at 03:54:09PM -0700, Elijah Newren wrote:
> On Wed, Apr 15, 2020 at 1:54 PM Jonathan Nieder <[email-masked]> wrote:
> >
> > Hi,
> >
> > Elijah Newren wrote:
> >
> > > I was building a version of git for internal use, and thought I'd try
> > > turning on features.experimental to get more testing of it.  The
> > > following test error in the testsuite scared me, though:
> > >
> > > t5537.9 (fetch --update-shallow):
> > >
> > > ...
> > > + git fetch --update-shallow ../shallow/.git refs/heads/*:refs/remotes/shallow/*
> > > remote: Enumerating objects: 18, done.
> > > remote: Counting objects: 100% (18/18), done.
> > > remote: Compressing objects: 100% (6/6), done.
> > > remote: Total 16 (delta 0), reused 6 (delta 0), pack-reused 0
> > > Unpacking objects: 100% (16/16), 1.16 KiB | 1.17 MiB/s, done.
> > > From ../shallow/
> > >  * [new branch]      master     -> shallow/master
> > >  * [new tag]         heavy-tag  -> heavy-tag
> > >  * [new tag]         light-tag  -> light-tag
> > > error: Could not read ac67d3021b4319951fb176469d7732e6914530c5
> > > error: Could not read ac67d3021b4319951fb176469d7732e6914530c5
> > > error: Could not read ac67d3021b4319951fb176469d7732e6914530c5
> > > fatal: unable to parse commit ac67d3021b4319951fb176469d7732e6914530c5
> > >
> > > Passing -c fetch.writeCommitGraph=false to the fetch command in that
> > > test makes it pass.
> >
> > Oh!  Thanks for checking this.  At $DAYJOB this was the week we were
> > going to roll out features.experimental.  Time to roll that back...
> >
> > How did you go about the experiment?  Does Taylor's patch make it pass?
>
> Yes, Taylor's patch makes the experiment pass.  My experiment was
> pretty simple; modify the code so that features.experimental defaults
> to true:

I'm glad to hear that it is passing now. I would like to have Jonathan
Tan chime in on whether or not this patch is making sense, but if so,
I'll prepare it for real and send it out.

Thanks,
Taylor