Hi Jonathan, On Fri, 26 Feb 2021 at 20:55, Jonathan Tan <jonathantanmy@xxxxxxxxxx> wrote: > So the cause is not that we are unnecessarily > pushing the missing objects, but because they appear in the window when > we do delta compression (just like you said at the start). Thanks for persevering :) > > > 2. Seems like a bug that check_object() doesn't honour > > fetch_if_missing and skip the call to prefetch_to_pack(). > > We do need to fetch if we're trying to pack a missing object. I think > the real bug here is that we shouldn't prefetch if the to_pack entry has > preferred_base set (which means that it will not go into the final > packfile and is just available for delta compression). That makes sense, I had a feeling it wouldn't be quite as simple as my suggestion. > > > 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? Thanks, Rob :)