#!/bin/sh | |
test_description='apply a patch that is larger than the preimage' | |
. ./test-lib.sh | |
cat >F <<\EOF | |
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
999999 | |
A | |
B | |
C | |
D | |
E | |
F | |
G | |
H | |
I | |
J | |
EOF | |
test_expect_success setup ' | |
git add F && | |
mv F G && | |
sed -e "s/1/11/" -e "s/999999/9/" -e "s/H/HH/" <G >F && | |
git diff >patch && | |
sed -e "/^\$/d" <G >F && | |
git add F | |
' | |
test_expect_success 'apply should fail gracefully' ' | |
if git apply --index patch | |
then | |
echo Oops, should not have succeeded | |
false | |
else | |
status=$? | |
echo "Status was $status" | |
if test -f .git/index.lock | |
then | |
echo Oops, should not have crashed | |
false | |
fi | |
fi | |
' | |
test_done |