On 8/25/2020 12:04 PM, Taylor Blau 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. > > 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. A new test is added to show that the MIDX is left alone when > both packs known to it are marked as .keep, but two packs unknown to it > are removed and combined into one new pack. > > Helped-by: Derrick Stolee <dstolee@xxxxxxxxxxxxx> > Signed-off-by: Taylor Blau <me@xxxxxxxxxxxx> > --- > Range-diff against v1: I know this thread went in a new direction about pack-redundant and dashed-git, but this version looks good to me. I wanted to make sure it wasn't lost in the shuffle. Thanks, -Stolee