Skip to content

Commit

Permalink
diff --check: correct line numbers of new blank lines at EOF
Browse files Browse the repository at this point in the history
The whitespace check printed the value of the wrong variable, i.e. the
beginning of the block of blank lines at the EOF (possibly absent) in the
old file.

As "git diff --check" is used by users to check their changes before
making a commit, we should point at the line number in the file after
the change.

Signed-off-by: Christoph Mallon <christoph.mallon@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Christoph Mallon authored and Junio C Hamano committed Oct 17, 2010
1 parent 593ce2b commit 8837d33
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
2 changes: 1 addition & 1 deletion diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -1888,7 +1888,7 @@ static void builtin_checkdiff(const char *name_a, const char *name_b,

ecbdata.ws_rule = data.ws_rule;
check_blank_at_eof(&mf1, &mf2, &ecbdata);
blank_at_eof = ecbdata.blank_at_eof_in_preimage;
blank_at_eof = ecbdata.blank_at_eof_in_postimage;

if (blank_at_eof) {
static char *err;
Expand Down
9 changes: 9 additions & 0 deletions t/t4019-diff-wserror.sh
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,15 @@ test_expect_success 'trailing empty lines (2)' '
'

test_expect_success 'checkdiff shows correct line number for trailing blank lines' '
printf "a\nb\n" > G &&
git add G &&
printf "x\nx\nx\na\nb\nc\n\n" > G &&
[ "$(git diff --check -- G)" = "G:7: new blank line at EOF." ]
'

test_expect_success 'do not color trailing cr in context' '
git config --unset core.whitespace
rm -f .gitattributes &&
Expand Down

0 comments on commit 8837d33

Please sign in to comment.