summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-04-24 05:07:49 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-04-24 05:07:49 (GMT)
commitcdfe138b360cd10f74ef9d2d031cb10447cb3338 (patch)
tree44a8d80a209a2f490ae0575c634ea50e7a6e3ac7 /t
parent8868ba19626a72d5883241c36fd5477897ef8dd1 (diff)
parenta33fc72fe911fdb8e284c94e08e8f1dafe4d3187 (diff)
downloadgit-cdfe138b360cd10f74ef9d2d031cb10447cb3338.zip
git-cdfe138b360cd10f74ef9d2d031cb10447cb3338.tar.gz
git-cdfe138b360cd10f74ef9d2d031cb10447cb3338.tar.bz2
Merge branch 'jh/verify-index-checksum-only-in-fsck'
The index file has a trailing SHA-1 checksum to detect file corruption, and historically we checked it every time the index file is used. Omit the validation during normal use, and instead verify only in "git fsck". * jh/verify-index-checksum-only-in-fsck: read-cache: force_verify_index_checksum
Diffstat (limited to 't')
-rwxr-xr-xt/t1450-fsck.sh13
1 files changed, 13 insertions, 0 deletions
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 &&
+ mv .git/index.yyy .git/index &&
+ # Confirm that fsck detects invalid checksum
+ test_must_fail git fsck --cache &&
+ # Confirm that status no longer complains about invalid checksum
+ git status
+'
+
test_done