X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=t%2Ft6022-merge-rename.sh;h=a2d24b5ca95d971eccbb913c2a0eb84b7e87cd10;hb=143f4d94c6e2188a6bedfdfa268e66b579e3fbf9;hp=153b9e49f26502ce6b9d0ceb9ae83839ecc3becc;hpb=a9572072f0ab0ac97e64b0dc01254a3ad95befe1;p=git.git diff --git a/t/t6022-merge-rename.sh b/t/t6022-merge-rename.sh index 153b9e49..a2d24b5c 100755 --- a/t/t6022-merge-rename.sh +++ b/t/t6022-merge-rename.sh @@ -3,6 +3,12 @@ test_description='Merge-recursive merging renames' . ./test-lib.sh +if test "$no_python"; then + echo "Skipping: no python => no recursive merge" + test_done + exit 0 +fi + test_expect_success setup \ ' cat >A <<\EOF && @@ -161,4 +167,41 @@ test_expect_success 'pull unrenaming branch into renaming one' \ } ' +test_expect_success 'pull conflicting renames' \ +' + git reset --hard + git show-branch + git pull . blue && { + echo "BAD: should have conflicted" + exit 1 + } + test "$(git ls-files -u A | wc -l)" -eq 1 || { + echo "BAD: should have left a stage" + exit 1 + } + test "$(git ls-files -u B | wc -l)" -eq 1 || { + echo "BAD: should have left a stage" + exit 1 + } + test "$(git ls-files -u C | wc -l)" -eq 1 || { + echo "BAD: should have left a stage" + exit 1 + } + test "$(git ls-files -s N | wc -l)" -eq 1 || { + echo "BAD: should have merged N" + exit 1 + } + sed -ne "/^g/{ + p + q + }" B | grep red || { + echo "BAD: should have listed our change first" + exit 1 + } + test "$(git diff white N | wc -l)" -eq 0 || { + echo "BAD: should have taken colored branch" + exit 1 + } +' + test_done