Seeing as Git originates from the Linux ecosystem, it is understandable that the assumption of Unix line endings is deeply ingrained in Git's source code as well as its test suite. However, we must not force files that are otherwise unrelated to tests to have Unix line endings just to appease test scripts that may use them. Instead, the test scripts should be indifferent what line endings files outside their corresponding tNNNN/ directories have. As t4003-diff-rename-1.sh, t4005-diff-rename-2.sh, t4007-rename-3.sh & t4008-diff-break-rewrite.sh make hard-coded assumptions about the SHA-1 of the tested files, and as those files' contents originate from outside this script's sphere of authority, it must handle CR/LF line endings in those files gracefully. We do that by simply stripping out CR bytes. Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> --- t/t4003-diff-rename-1.sh | 4 ++-- t/t4005-diff-rename-2.sh | 4 ++-- t/t4007-rename-3.sh | 2 +- t/t4008-diff-break-rewrite.sh | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/t/t4003-diff-rename-1.sh b/t/t4003-diff-rename-1.sh index df2accb6555..c3e0a3c3fc9 100755 --- a/t/t4003-diff-rename-1.sh +++ b/t/t4003-diff-rename-1.sh @@ -11,7 +11,7 @@ test_description='More rename detection test_expect_success \ 'prepare reference tree' \ - 'cat "$TEST_DIRECTORY"/diff-lib/COPYING >COPYING && + 'tr -d "\015" <"$TEST_DIRECTORY"/diff-lib/COPYING >COPYING && echo frotz >rezrov && git update-index --add COPYING rezrov && tree=$(git write-tree) && @@ -99,7 +99,7 @@ test_expect_success \ test_expect_success \ 'prepare work tree once again' \ - 'cat "$TEST_DIRECTORY"/diff-lib/COPYING >COPYING && + 'tr -d "\015" <"$TEST_DIRECTORY"/diff-lib/COPYING >COPYING && git update-index --add --remove COPYING COPYING.1' # tree has COPYING and rezrov. work tree has COPYING and COPYING.1, diff --git a/t/t4005-diff-rename-2.sh b/t/t4005-diff-rename-2.sh index 135addbfbda..f1641c35ee2 100755 --- a/t/t4005-diff-rename-2.sh +++ b/t/t4005-diff-rename-2.sh @@ -11,7 +11,7 @@ test_description='Same rename detection as t4003 but testing diff-raw. test_expect_success \ 'prepare reference tree' \ - 'cat "$TEST_DIRECTORY"/diff-lib/COPYING >COPYING && + 'tr -d "\015" <"$TEST_DIRECTORY"/diff-lib/COPYING >COPYING && echo frotz >rezrov && git update-index --add COPYING rezrov && tree=$(git write-tree) && @@ -71,7 +71,7 @@ test_expect_success \ test_expect_success \ 'prepare work tree once again' \ - 'cat "$TEST_DIRECTORY"/diff-lib/COPYING >COPYING && + 'tr -d "\015" <"$TEST_DIRECTORY"/diff-lib/COPYING >COPYING && git update-index --add --remove COPYING COPYING.1' git diff-index -C --find-copies-harder $tree >current diff --git a/t/t4007-rename-3.sh b/t/t4007-rename-3.sh index dae327fabbf..0157fde5503 100755 --- a/t/t4007-rename-3.sh +++ b/t/t4007-rename-3.sh @@ -11,7 +11,7 @@ test_description='Rename interaction with pathspec. test_expect_success 'prepare reference tree' ' mkdir path0 path1 && - cp "$TEST_DIRECTORY"/diff-lib/COPYING path0/COPYING && + tr -d "\015" <"$TEST_DIRECTORY"/diff-lib/COPYING >path0/COPYING && git update-index --add path0/COPYING && tree=$(git write-tree) && echo $tree diff --git a/t/t4008-diff-break-rewrite.sh b/t/t4008-diff-break-rewrite.sh index 9dd1bc5e162..5af4fa6aadb 100755 --- a/t/t4008-diff-break-rewrite.sh +++ b/t/t4008-diff-break-rewrite.sh @@ -25,8 +25,8 @@ Further, with -B and -M together, these should turn into two renames. . "$TEST_DIRECTORY"/diff-lib.sh ;# test-lib chdir's into trash test_expect_success setup ' - cat "$TEST_DIRECTORY"/diff-lib/README >file0 && - cat "$TEST_DIRECTORY"/diff-lib/COPYING >file1 && + tr -d "\015" <"$TEST_DIRECTORY"/diff-lib/README >file0 && + tr -d "\015" <"$TEST_DIRECTORY"/diff-lib/COPYING >file1 && git update-index --add file0 file1 && git tag reference $(git write-tree) ' -- 2.12.2.windows.2.800.gede8f145e06