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>

Jeff King committed Sep 24, 2021 at 14:36 UTC 078eecbcbe04bf77e8b9afee01a58c905c3b3c50
1 file changed +5
t/t5312-prune-corruption.sh
+5
index 0704f3e930..c7010fb754 100755 --- a/t/t5312-prune-corruption.sh +++ b/t/t5312-prune-corruption.sh @@ -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 &&