apply: force matching at the beginning.
When there is no leading context, the patch must match at the beginning of preimage; otherwise there is a "patch adds these lines while the other lines were added to the original file" conflict. This is the opposite of match_end fix earlier in this series. Unlike matching at the end case, we can additionally check the preimage line number recorded in the patch, so the change is not symmetrical with the earlier one. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
@ -29,7 +29,25 @@ test_expect_success setup \
|
||||
|
||||
# test
|
||||
|
||||
test_expect_failure apply \
|
||||
test_expect_failure 'apply at the end' \
|
||||
'git-apply --index test-patch'
|
||||
|
||||
cat >test-patch <<\EOF
|
||||
diff a/file b/file
|
||||
--- a/file
|
||||
+++ b/file
|
||||
@@ -1,2 +1,3 @@
|
||||
+a
|
||||
b
|
||||
c
|
||||
EOF
|
||||
|
||||
echo >file 'a
|
||||
b
|
||||
c'
|
||||
git-update-index file
|
||||
|
||||
test_expect_failure 'apply at the beginning' \
|
||||
'git-apply --index test-patch'
|
||||
|
||||
test_done
|
||||
|
Reference in New Issue
Block a user