57 lines
1.3 KiB
Bash
Executable File
57 lines
1.3 KiB
Bash
Executable File
#!/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
|