Show 44 quoted lines
> On Thu, Aug 27, 2020 at 02:43:02PM -0700, Junio C Hamano wrote:
>
>> * tb/repack-clearing-midx (2020-08-26) 1 commit
>> (merged to 'next' on 2020-08-27 at a465875cbb)
>> + builtin/repack.c: invalidate MIDX only when necessary
>>
>> When a packfile is removed by "git repack", multi-pack-index gets
>> cleared; the code was taught to do so less aggressively by first
>> checking if the midx actually refers to a pack that no longer
>> exists.
>>
>> Will merge to 'master'.
>
> This seems to break t7700 when run with midx support:
>
> $ git checkout e08f7bb093
> HEAD is now at e08f7bb093 builtin/repack.c: invalidate MIDX only when necessary
>
> $ make && (cd t && GIT_TEST_MULTI_PACK_INDEX=1 ./t7700-repack.sh -i)
> [...]
> + git repack -a -d
> Enumerating objects: 10, done.
> Counting objects: 100% (10/10), done.
> Delta compression using up to 16 threads
> Compressing objects: 100% (5/5), done.
> Writing objects: 100% (10/10), done.
> Total 10 (delta 1), reused 10 (delta 1), pack-reused 0
> fatal: error preparing packfile from multi-pack-index
> error: last command exited with $?=128
> not ok 6 - packed obs in alt ODB are repacked when local repo has packs
> #
> # rm -f .git/objects/pack/* &&
> # echo new_content >>file1 &&
> # git add file1 &&
> # test_tick &&
> # git commit -m more_content &&
> # git repack &&
> # git repack -a -d &&
> # test_no_missing_in_packs
>
> I didn't look into whether it's a bug in the actual code, or just a
> weird interaction with the way GIT_TEST_MULTI_PACK_INDEX triggers
> git-repack to write a midx. But either way we should figure that out
> before it graduates.