diff options
author | Junio C Hamano <gitster@pobox.com> | 2010-06-21 06:02:47 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-06-21 06:02:47 -0700 |
commit | d249515f297d47df6d79167b988eaa7db0981178 (patch) | |
tree | 66b92805700034d343b0c03d6824f51a9e9cfe9d /t | |
parent | 1623191be4ec91b3d2fb5ef85b1e77b7adef24af (diff) | |
parent | c4805393d73425a5f467f10fa434fb99bfba17ac (diff) | |
download | git-d249515f297d47df6d79167b988eaa7db0981178.tar.gz |
Merge branch 'fg/autocrlf'
* fg/autocrlf:
autocrlf: Make it work also for un-normalized repositories
Diffstat (limited to 't')
-rwxr-xr-x | t/t0020-crlf.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/t/t0020-crlf.sh b/t/t0020-crlf.sh index c3e7e322a8..234a94f3e6 100755 --- a/t/t0020-crlf.sh +++ b/t/t0020-crlf.sh @@ -453,5 +453,57 @@ test_expect_success 'invalid .gitattributes (must not crash)' ' git diff ' +# Some more tests here to add new autocrlf functionality. +# We want to have a known state here, so start a bit from scratch + +test_expect_success 'setting up for new autocrlf tests' ' + git config core.autocrlf false && + git config core.safecrlf false && + rm -rf .????* * && + for w in I am all LF; do echo $w; done >alllf && + for w in Oh here is CRLFQ in text; do echo $w; done | q_to_cr >mixed && + for w in I am all CRLF; do echo $w; done | append_cr >allcrlf && + git add -A . && + git commit -m "alllf, allcrlf and mixed only" && + git tag -a -m "message" autocrlf-checkpoint +' + +test_expect_success 'report no change after setting autocrlf' ' + git config core.autocrlf true && + touch * && + git diff --exit-code +' + +test_expect_success 'files are clean after checkout' ' + rm * && + git checkout -f && + git diff --exit-code +' + +cr_to_Q_no_NL () { + tr '\015' Q | tr -d '\012' +} + +test_expect_success 'LF only file gets CRLF with autocrlf' ' + test "$(cr_to_Q_no_NL < alllf)" = "IQamQallQLFQ" +' + +test_expect_success 'Mixed file is still mixed with autocrlf' ' + test "$(cr_to_Q_no_NL < mixed)" = "OhhereisCRLFQintext" +' + +test_expect_success 'CRLF only file has CRLF with autocrlf' ' + test "$(cr_to_Q_no_NL < allcrlf)" = "IQamQallQCRLFQ" +' + +test_expect_success 'New CRLF file gets LF in repo' ' + tr -d "\015" < alllf | append_cr > alllf2 && + git add alllf2 && + git commit -m "alllf2 added" && + git config core.autocrlf false && + rm * && + git checkout -f && + test_cmp alllf alllf2 +' test_done |