1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
  
     | 
    
      #!/bin/sh
test_description='merge conflict in crlf repo
		b---M
	       /   /
	initial---a
'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
TEST_PASSES_SANITIZE_LEAK=true
. ./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 main
'
test_expect_success 'Check "ours" is CRLF' '
	git reset --hard initial &&
	git merge side -s ours &&
	remove_cr <file | 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 &&
	remove_cr <file | append_cr >file.temp &&
	test_cmp file file.temp
'
test_done
 
     |