-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
git-apply: prepare for upcoming GNU diff -u format change.
The latest GNU diff from CVS emits an empty line to express an empty context line, instead of more traditional "single white space followed by a newline". Do not get broken by it. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
- Loading branch information
Linus Torvalds
authored and
Junio C Hamano
committed
Oct 20, 2006
1 parent
6b09c78
commit b507b46
Showing
2 changed files
with
64 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
#!/bin/sh | ||
# | ||
# Copyright (c) 2006 Junio C Hamano | ||
# | ||
|
||
test_description='git-apply with new style GNU diff with empty context | ||
' | ||
|
||
. ./test-lib.sh | ||
|
||
test_expect_success setup ' | ||
{ | ||
echo; echo; | ||
echo A; echo B; echo C; | ||
echo; | ||
} >file1 && | ||
cat file1 >file1.orig && | ||
{ | ||
cat file1 && | ||
echo Q | tr -d "\\012" | ||
} >file2 && | ||
cat file2 >file2.orig | ||
git add file1 file2 && | ||
sed -e "/^B/d" <file1.orig >file1 && | ||
sed -e "/^B/d" <file2.orig >file2 && | ||
cat file1 >file1.mods && | ||
cat file2 >file2.mods && | ||
git diff | | ||
sed -e "s/^ \$//" >diff.output | ||
' | ||
|
||
test_expect_success 'apply --numstat' ' | ||
git apply --numstat diff.output >actual && | ||
{ | ||
echo "0 1 file1" && | ||
echo "0 1 file2" | ||
} >expect && | ||
diff -u expect actual | ||
' | ||
|
||
test_expect_success 'apply --apply' ' | ||
cat file1.orig >file1 && | ||
cat file2.orig >file2 && | ||
git update-index file1 file2 && | ||
git apply --index diff.output && | ||
diff -u file1.mods file1 && | ||
diff -u file2.mods file2 | ||
' | ||
|
||
test_done | ||
|