Re: partial clone: promisor fetch during push (pack-objects)
- From
- Jonathan Tan <jonathantanmy@google.com>
- Date
- Mar 1, 2021, 20:55 UTC
- Message-ID
- <20210301205521.3415173-1-jonathantanmy@google.com>
- In-Reply-To
- <CAFLLRpLoy6c_WSt1RR2-SPMzKK-MaBpkrCPuGqGGf8SwpCiSEA@mail.gmail.com>
Show 8 quoted lines
> > > 3. But push doesn't pass --missing= to pack-objects anyway, so that > > > wouldn't actually solve the original issue. Should it? > > > > If we fix the bug I described above, I think it's still OK if push > > doesn't pass --missing=. > > I'll have a go at a patch. Any suggestions on how to approach > writing/expanding a test to cover this?
I think the main thing is to test that such a push doesn't also fetch. The most straightforward and reliable way I can think of is to run "git count-objects -v" before and after the push. There are other ways like using GIT_TRACE_PACKET and then grep-ping for the absence of "fetch> done" (or something like that) (but I don't like this approach because grep-ping for absence is not robust in the face of typos) or checking the number of files in .git/objects/pack before and after (but that is not robust if Git decides to GC in between).