diff options
| author | Taylor Blau <me@ttaylorr.com> | 2026-03-27 16:06:49 -0400 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2026-03-27 13:40:39 -0700 |
| commit | 5a4381f093508f0504a99b1abc9ca5e8ebd0901f (patch) | |
| tree | ee389a74f80fb360d06be2ad216151858b588869 /t | |
| parent | d31d1f2e06942046b5220942c77245725d7df2c1 (diff) | |
| download | git-5a4381f093508f0504a99b1abc9ca5e8ebd0901f.tar.xz | |
t7704: demonstrate failure with once-cruft objects above the geometric split
Add a test demonstrating a case where geometric repacking fails to
produce a pack with full object closure, thus making it impossible to
write a reachability bitmap.
Mark the test with 'test_expect_failure' for now. The subsequent commit
will explain the precise failure mode, and implement a fix.
Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
| -rwxr-xr-x | t/t7704-repack-cruft.sh | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/t/t7704-repack-cruft.sh b/t/t7704-repack-cruft.sh index aa2e2e6ad8..77133395b5 100755 --- a/t/t7704-repack-cruft.sh +++ b/t/t7704-repack-cruft.sh @@ -869,4 +869,26 @@ test_expect_success 'repack --write-midx includes cruft when already geometric' ) ' +test_expect_failure 'repack rescues once-cruft objects above geometric split' ' + git config repack.midxMustContainCruft false && + + test_commit reachable && + test_commit unreachable && + + unreachable="$(git rev-parse HEAD)" && + + git reset --hard HEAD^ && + git tag -d unreachable && + git reflog expire --all --expire=all && + + git repack --cruft -d && + + echo $unreachable | git pack-objects .git/objects/pack/pack && + + test_commit new && + + git update-ref refs/heads/other $unreachable && + git repack --geometric=2 -d --write-midx --write-bitmap-index +' + test_done |
