| test_description='git-merge with case-changing rename on case-insensitive file system' |
| if ! test_have_prereq CASE_INSENSITIVE_FS |
| skip_all='skipping case insensitive tests - case sensitive file system' |
| test_expect_success 'merge with case-changing rename' ' |
| test $(git config core.ignorecase) = true && |
| git commit -m "add TestCase" && |
| git checkout -b with-camel && |
| git commit -m "intervening commit" && |
| git commit -m "rename to testcase" && |
| git checkout with-camel && |
| git merge master -m "merge" && |
| test_path_is_file testcase |
| test_expect_success 'merge with case-changing rename on both sides' ' |
| git reset --hard baseline && |
| git branch -D with-camel && |
| git checkout -b with-camel && |
| git mv TestCase testcase && |
| git commit -m "recase on branch" && |
| git commit -m "intervening commit" && |
| git commit -m "rename to testcase" && |
| git checkout with-camel && |
| git merge master -m "merge" && |
| test_path_is_file testcase |