On 4/24/2017 1:26 PM, Johannes Sixt wrote:
Am 14.04.2017 um 22:32 schrieb git@xxxxxxxxxxxxxxxxx:
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.
In v5 of this patch series I used "perl" and it was suggested that I use
"sed" instead.
It doesn't matter to me which we use. My testing showed that it was
safe, but that
was only Linux.
Does the mailing list have a preference for this ?
+ 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?
I suppose we could, but I'm tempted to wait on that for now.
Jeff