blob: 75d9602de4d4238b4182956127540525f711d33f [file] [log] [blame]
#!/bin/sh
append_cr () {
sed -e 's/$/Q/' | tr Q '\015'
}
remove_cr () {
tr '\015' Q | sed -e 's/Q$//'
}
test_description='merge conflict in crlf repo
b---M
/ /
initial---a
'
. ./test-lib.sh
test_expect_success setup '
git config core.autocrlf true &&
echo foo | append_cr >file &&
git add file &&
git commit -m "Initial" &&
git tag initial &&
git branch side &&
echo line from a | append_cr >file &&
git commit -m "add line from a" file &&
git tag a &&
git checkout side &&
echo line from b | append_cr >file &&
git commit -m "add line from b" file &&
git tag b &&
git checkout master
'
test_expect_success 'Check "ours" is CRLF' '
git reset --hard initial &&
git merge side -s ours &&
cat file | remove_cr | append_cr >file.temp &&
test_cmp file file.temp
'
test_expect_success 'Check that conflict file is CRLF' '
git reset --hard a &&
test_must_fail git merge side &&
cat file | remove_cr | append_cr >file.temp &&
test_cmp file file.temp
'
test_done