git/t/t6413-merge-crlf.sh

49 lines
1009 B
Bash
Executable File

#!/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