Am 14.04.2017 um 22:32 schrieb g...@jeffhostetler.com:
diff --git a/t/t1450-fsck.sh b/t/t1450-fsck.sh
index 33a51c9..677e15a 100755
--- a/t/t1450-fsck.sh
+++ b/t/t1450-fsck.sh
@@ -689,4 +689,17 @@ test_expect_success 'bogus head does not fallback to all
heads' '
! grep $blob out
'
+test_expect_success 'detect corrupt index file in fsck' '
+ cp .git/index .git/index.backup &&
+ test_when_finished "mv .git/index.backup .git/index" &&
+ echo zzzzzzzz >zzzzzzzz &&
+ git add zzzzzzzz &&
+ sed -e "s/zzzzzzzz/yyyyyyyy/" .git/index >.git/index.yyy &&
sed on a binary file? Sooner or later we are going to run into
portability issues.
+ mv .git/index.yyy .git/index &&
+ # Confirm that fsck detects invalid checksum
+ test_must_fail git fsck --cache &&
You should ensure that this failure is really because of an invalid
checksum. The failure could also be due to an extra LF at the end that
sed inserted, no?
+ # Confirm that status no longer complains about invalid checksum
+ git status
+'
+
test_done
-- Hannes