diff --whitespace=warn/error: fix blank-at-eof check
The "diff --check" logic used to share the same issue as the one fixed for "git apply" earlier in this series, in that a patch that adds new blank lines at end could appear as @@ -l,5 +m,7 @@$ _context$ _context$ -deleted$ +$ +$ +$ _$ _$ where _ stands for SP and $ shows a end-of-line. Instead of looking at each line in the patch in the callback, simply count the blank lines from the end in two versions, and notice the presence of new ones. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
@ -341,6 +341,13 @@ test_expect_success 'checkdiff detects new trailing blank lines (1)' '
|
||||
git diff --check | grep "new blank line"
|
||||
'
|
||||
|
||||
test_expect_success 'checkdiff detects new trailing blank lines (2)' '
|
||||
{ echo a; echo b; echo; echo; } >x &&
|
||||
git add x &&
|
||||
{ echo a; echo; echo; echo; echo; } >x &&
|
||||
git diff --check | grep "new blank line"
|
||||
'
|
||||
|
||||
test_expect_success 'checkdiff allows new blank lines' '
|
||||
git checkout x &&
|
||||
mv x y &&
|
||||
|
Reference in New Issue
Block a user