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>
)
'
+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