t5312: test non-destructive repack

In t5312, we create a state with a broken ref, and then make sure that
destructive repacks don't silently ignore the breakage (where a
destructive repack is one that might drop objects). But we don't check
the behavior of non-destructive repacks at all (i.e., ones where we'd
keep unreachable objects).

So let's add a test to confirm the current behavior, which is that
they are allowed (i.e., ignoring the breakage and considering any
objects it points to as unreachable). This may change in the future, but
we'd like for the test suite to alert us to that fact.

Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2021-09-24 14:36:42 -04:00 committed by Junio C Hamano
parent f805844676
commit 078eecbcbe

View File

@ -46,6 +46,11 @@ test_expect_success 'put bogus object into pack' '
git cat-file -e $bogus
'
test_expect_success 'non-destructive repack ignores bogus name' '
create_bogus_ref &&
git repack -adk
'
test_expect_success 'destructive repack keeps packed object' '
create_bogus_ref &&
test_might_fail git repack -Ad --unpack-unreachable=now &&