Hi Taylor, Thanks for working on this. > On Aug 25, 2020, at 04:01, Taylor Blau <me@xxxxxxxxxxxx> wrote: > > In 525e18c04b (midx: clear midx on repack, 2018-07-12), 'git repack' > learned to remove a multi-pack-index file if it added or removed a pack > from the object store. > > This mechanism is a little over-eager, since it is only necessary to > drop a MIDX if 'git repack' removes a pack that the MIDX references. > Adding a pack outside of the MIDX does not require invalidating the > MIDX, and likewise for removing a pack the MIDX does not know about. I wonder if its worth to trigger write_midx_file() to update the midx instead of just removing MIDX? That is already the direction we are taking in the 'maintenance' patch series whenever the multi-pack-index file was deemed invalid. Or perhaps, we can check for 'core.multiPackIndex' value (which recently is 'true' by default) and determine whether we should remove the MIDX or rewrite it? > > Teach 'git repack' to check for this by loading the MIDX, and checking > whether the to-be-removed pack is known to the MIDX. This requires a > slightly odd alternation to a test in t5319, which is explained with a > comment. > > Signed-off-by: Taylor Blau <me@xxxxxxxxxxxx> Cheers, Son Luong.