The test suite is mainly developed on Linux and MacOSX, which is the reason that nobody thought to mark files as LF-only as needed.
The symptom is a test suite that fails left and right when being checked out using Git for Windows (which defaults to core.autocrlf=true). Mostly, the problems stem from Git's (LF-only) output being compared to hard-coded files that are checked out with line endings according to core.autocrlf (which is of course incorrect). Note: the test suite also uses the t/README file as well as the COPYING file in t/diff-lib/, expecting LF-only line endings explicitly and failing if that assumption does not hold true. That is why we mark them as LF-only in the .gitattributes, too. This patch can be validated even on Linux by using this cadence: git config core.autocrlf true rm .git/index && git stash make -j15 DEVELOPER=1 test Reviewed-by: Jonathan Nieder <jrnie...@gmail.com> Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de> --- t/.gitattributes | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/t/.gitattributes b/t/.gitattributes index 2d44088f56e..3525ca43f30 100644 --- a/t/.gitattributes +++ b/t/.gitattributes @@ -1,2 +1,20 @@ t[0-9][0-9][0-9][0-9]/* -whitespace -t0110/url-* binary +/t0110/url-* binary +/t3900/*.txt eol=lf +/t3901/*.txt eol=lf +/t4034/*/* eol=lf +/t4013/* eol=lf +/t4018/* eol=lf +/t4100/* eol=lf +/t4101/* eol=lf +/t4109/* eol=lf +/t4110/* eol=lf +/t4135/* eol=lf +/t4211/* eol=lf +/t4252/* eol=lf +/t5100/* eol=lf +/t5515/* eol=lf +/t556x_common eol=lf +/t7500/* eol=lf +/t8005/*.txt eol=lf +/t9*/*.dump eol=lf -- 2.12.2.windows.2.800.gede8f145e06