mirror of
https://github.com/git/git
synced 2024-10-04 07:39:24 +00:00
diff --whitespace=warn/error: obey blank-at-eof
The "diff --check" code used to conflate trailing-space whitespace error class with this, but now we have a proper separate error class, we should check it under blank-at-eof, not trailing-space. The whitespace error is not about _having_ blank lines at end, but about adding _new_ blank lines. To keep the message consistent with what is given by "git apply", call whitespace_error_string() to generate it, instead of using a hardcoded custom message. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
b8d9c1a66b
commit
5b5061efd8
10
diff.c
10
diff.c
|
@ -1650,10 +1650,14 @@ static void builtin_checkdiff(const char *name_a, const char *name_b,
|
||||||
ecb.priv = &data;
|
ecb.priv = &data;
|
||||||
xdi_diff(&mf1, &mf2, &xpp, &xecfg, &ecb);
|
xdi_diff(&mf1, &mf2, &xpp, &xecfg, &ecb);
|
||||||
|
|
||||||
if ((data.ws_rule & WS_TRAILING_SPACE) &&
|
if ((data.ws_rule & WS_BLANK_AT_EOF) &&
|
||||||
data.trailing_blanks_start) {
|
data.trailing_blanks_start) {
|
||||||
fprintf(o->file, "%s:%d: ends with blank lines.\n",
|
static char *err;
|
||||||
data.filename, data.trailing_blanks_start);
|
|
||||||
|
if (!err)
|
||||||
|
err = whitespace_error_string(WS_BLANK_AT_EOF);
|
||||||
|
fprintf(o->file, "%s:%d: %s\n",
|
||||||
|
data.filename, data.trailing_blanks_start, err);
|
||||||
data.status = 1; /* report errors */
|
data.status = 1; /* report errors */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -335,10 +335,10 @@ test_expect_success 'line numbers in --check output are correct' '
|
||||||
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'checkdiff detects trailing blank lines' '
|
test_expect_success 'checkdiff detects new trailing blank lines (1)' '
|
||||||
echo "foo();" >x &&
|
echo "foo();" >x &&
|
||||||
echo "" >>x &&
|
echo "" >>x &&
|
||||||
git diff --check | grep "ends with blank"
|
git diff --check | grep "new blank line"
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'checkdiff allows new blank lines' '
|
test_expect_success 'checkdiff allows new blank lines' '
|
||||||
|
|
|
@ -165,7 +165,7 @@ test_expect_success 'trailing empty lines (1)' '
|
||||||
|
|
||||||
rm -f .gitattributes &&
|
rm -f .gitattributes &&
|
||||||
test_must_fail git diff --check >output &&
|
test_must_fail git diff --check >output &&
|
||||||
grep "ends with blank lines." output &&
|
grep "new blank line at" output &&
|
||||||
grep "trailing whitespace" output
|
grep "trailing whitespace" output
|
||||||
|
|
||||||
'
|
'
|
||||||
|
|
Loading…
Reference in a new issue