> > > 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).