Re: [PATCH v2] builtin/repack.c: invalidate MIDX only when necessary
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 26, 2020, 20:54 UTC
- Message-ID
- <xmqq5z95unzt.fsf@gitster.c.googlers.com>
- In-Reply-To
- <a9997a0b-9ba9-4614-2081-fc74e4c2171a@gmail.com>
Derrick Stolee <stolee@gmail.com> writes:
Show 25 quoted lines
> 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@microsoft.com> >> Signed-off-by: Taylor Blau <me@ttaylorr.com> >> --- >> 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.
Very much appreciated. I was wondering if I'll see a final reroll or v2 already had all we wanted.
Thanks.