diff options
Diffstat (limited to 't/t6419-merge-ignorecase.sh')
-rwxr-xr-x | t/t6419-merge-ignorecase.sh | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/t/t6419-merge-ignorecase.sh b/t/t6419-merge-ignorecase.sh new file mode 100755 index 0000000000..b64b75acf5 --- /dev/null +++ b/t/t6419-merge-ignorecase.sh @@ -0,0 +1,56 @@ +#!/bin/sh + +test_description='git-merge with case-changing rename on case-insensitive file system' + +GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main +export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME + +. ./test-lib.sh + +if ! test_have_prereq CASE_INSENSITIVE_FS +then + skip_all='skipping case insensitive tests - case sensitive file system' + test_done +fi + +test_expect_success 'merge with case-changing rename' ' + test $(git config core.ignorecase) = true && + >TestCase && + git add TestCase && + git commit -m "add TestCase" && + git tag baseline && + git checkout -b with-camel && + >foo && + git add foo && + git commit -m "intervening commit" && + git checkout main && + git rm TestCase && + >testcase && + git add testcase && + git commit -m "rename to testcase" && + git checkout with-camel && + git merge main -m "merge" && + test_path_is_file testcase +' + +test_expect_success 'merge with case-changing rename on both sides' ' + git checkout main && + git reset --hard baseline && + git branch -D with-camel && + git checkout -b with-camel && + git mv TestCase testcase && + git commit -m "recase on branch" && + >foo && + git add foo && + git commit -m "intervening commit" && + git checkout main && + git rm TestCase && + >testcase && + git add testcase && + git commit -m "rename to testcase" && + git checkout with-camel && + git merge main -m "merge" && + test_path_is_file testcase +' + +test_done |