We had quite inconsistent handing of patches that add new blank lines at the end of file, and this miniseries is about fixing it. Patch 1 is a fix to an ancient bug introduced by v1.5.5-rc0~156^2~11. Patch 2 fixes a bug that is even older---I suspect it dates back to the very first change that introduced the feature, but I did not bother to dig. Patch 4 (Patch 3 is a preliminary refactoring used by it) is about the discrepancy between "--whitespace=fix" and "--whitespace=warn". The blank-at-eof error was silently fixed but never diagnosed, which has been one of the long-standing itch of mine to fix. Patch 5 corrects the definition of blank-at-eof. If a patch adds an non-empty line that consists solely of whitespaces at the end of file, we should diagnose and strip it just line a new empty line. After all, both are blank lines. Patch 6 is a simple code reduction I noticed while preparing this series; it can be a standalone patch, but it is obvious enough to be here. Patches 7 and 8 address "git diff --check", which had roughly the same logic as the --whitespace=fix. It shared the same problems the earlier parts of the series fixed for "git apply". Patch 9 is about "diff --color" to paint blank-at-eof as error, which we did not do so far because it was too cumbersome. This has been another one of the long-standing itch of mine to fix. The series applies to v1.6.0.6-87-g82d97da; merging the result to 'master' needs some conflict resolution. 1 apply --whitespace=fix: fix handling of blank lines at the eof 2 apply --whitespace=fix: detect new blank lines at eof correctly 3 apply.c: split check_whitespace() into two 4 apply --whitespace=warn/error: diagnose blank at EOF 5 apply --whitespace: warn blank but not necessarily empty lines at EOF 6 diff.c: the builtin_diff() deals with only two-file comparison 7 diff --whitespace=warn/error: obey blank-at-eof 8 diff --whitespace=warn/error: fix blank-at-eof check 9 diff --color: color blank-at-eof Documentation/config.txt | 2 + builtin-apply.c | 61 +++++++++++++++------- cache.h | 3 +- diff.c | 119 +++++++++++++++++++++++++++++--------------- t/t4015-diff-whitespace.sh | 11 +++- t/t4019-diff-wserror.sh | 11 ++++- t/t4124-apply-ws-rule.sh | 80 +++++++++++++++++++++++++++++ ws.c | 6 ++ 8 files changed, 230 insertions(+), 63 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html