Skip to content

Commit

Permalink
t6038 (merge.renormalize): check that it can be turned off
Browse files Browse the repository at this point in the history
An unusual sort of person (not me) may even enjoy the conflicts
from line-ending changes.  But more importantly, it is useful to
document that behavior so we can more easily notice if it changes
in an uncontrolled way while no one is watching.

Cc: Eyvind Bernhardsen <eyvind.bernhardsen@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Jonathan Nieder authored and Junio C Hamano committed Aug 6, 2010
1 parent d347cee commit beeeb45
Showing 1 changed file with 49 additions and 1 deletion.
50 changes: 49 additions & 1 deletion t/t6038-merge-text-auto.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ test_description='CRLF merge conflict across text=auto change
. ./test-lib.sh

test_expect_success setup '
git config merge.renormalize true &&
git config core.autocrlf false &&
echo first line | append_cr >file &&
Expand Down Expand Up @@ -59,12 +58,19 @@ test_expect_success setup '
git checkout master
'

test_expect_success 'set up fuzz_conflict() helper' '
fuzz_conflict() {
sed -e "s/^\([<>=]......\) .*/\1/" "$@"
}
'

test_expect_success 'Merge after setting text=auto' '
cat <<-\EOF >expected &&
first line
same line
EOF
git config merge.renormalize true &&
git rm -fr . &&
rm -f .gitattributes &&
git reset --hard a &&
Expand All @@ -78,19 +84,59 @@ test_expect_success 'Merge addition of text=auto' '
same line
EOF
git config merge.renormalize true &&
git rm -fr . &&
rm -f .gitattributes &&
git reset --hard b &&
git merge a &&
test_cmp expected file
'

test_expect_success 'Detect CRLF/LF conflict after setting text=auto' '
q_to_cr <<-\EOF >expected &&
<<<<<<<
first line
same line
=======
first lineQ
same lineQ
>>>>>>>
EOF
git config merge.renormalize false &&
rm -f .gitattributes &&
git reset --hard a &&
test_must_fail git merge b &&
fuzz_conflict file >file.fuzzy &&
test_cmp expected file.fuzzy
'

test_expect_success 'Detect LF/CRLF conflict from addition of text=auto' '
q_to_cr <<-\EOF >expected &&
<<<<<<<
first lineQ
same lineQ
=======
first line
same line
>>>>>>>
EOF
git config merge.renormalize false &&
rm -f .gitattributes &&
git reset --hard b &&
test_must_fail git merge a &&
fuzz_conflict file >file.fuzzy &&
test_cmp expected file.fuzzy
'

test_expect_failure 'checkout -m after setting text=auto' '
cat <<-\EOF >expected &&
first line
same line
EOF
git config merge.renormalize true &&
git rm -fr . &&
rm -f .gitattributes &&
git reset --hard initial &&
Expand All @@ -105,6 +151,7 @@ test_expect_failure 'checkout -m addition of text=auto' '
same line
EOF
git config merge.renormalize true &&
git rm -fr . &&
rm -f .gitattributes file &&
git reset --hard initial &&
Expand All @@ -119,6 +166,7 @@ test_expect_failure 'cherry-pick patch from after text=auto was added' '
same line
EOF
git config merge.renormalize true &&
git rm -fr . &&
git reset --hard b &&
test_must_fail git cherry-pick a >err 2>&1 &&
Expand Down

0 comments on commit beeeb45

Please sign in to comment.