|
|
@ -48,7 +48,7 @@ test_expect_success 'setup for merge test' ' |
|
|
|
git tag baseline |
|
|
|
git tag baseline |
|
|
|
' |
|
|
|
' |
|
|
|
|
|
|
|
|
|
|
|
test_expect_success 'do not lose a/b-2/c/d in merge (resolve)' ' |
|
|
|
test_expect_success 'Handle D/F conflict, do not lose a/b-2/c/d in merge (resolve)' ' |
|
|
|
git reset --hard && |
|
|
|
git reset --hard && |
|
|
|
git checkout baseline^0 && |
|
|
|
git checkout baseline^0 && |
|
|
|
git merge -s resolve master && |
|
|
|
git merge -s resolve master && |
|
|
@ -56,7 +56,7 @@ test_expect_success 'do not lose a/b-2/c/d in merge (resolve)' ' |
|
|
|
test -f a/b-2/c/d |
|
|
|
test -f a/b-2/c/d |
|
|
|
' |
|
|
|
' |
|
|
|
|
|
|
|
|
|
|
|
test_expect_failure 'do not lose a/b-2/c/d in merge (recursive)' ' |
|
|
|
test_expect_failure 'Handle D/F conflict, do not lose a/b-2/c/d in merge (recursive)' ' |
|
|
|
git reset --hard && |
|
|
|
git reset --hard && |
|
|
|
git checkout baseline^0 && |
|
|
|
git checkout baseline^0 && |
|
|
|
git merge -s recursive master && |
|
|
|
git merge -s recursive master && |
|
|
@ -64,6 +64,54 @@ test_expect_failure 'do not lose a/b-2/c/d in merge (recursive)' ' |
|
|
|
test -f a/b-2/c/d |
|
|
|
test -f a/b-2/c/d |
|
|
|
' |
|
|
|
' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test_expect_success 'Handle F/D conflict, do not lose a/b-2/c/d in merge (resolve)' ' |
|
|
|
|
|
|
|
git reset --hard && |
|
|
|
|
|
|
|
git checkout master^0 && |
|
|
|
|
|
|
|
git merge -s resolve baseline^0 && |
|
|
|
|
|
|
|
test -h a/b && |
|
|
|
|
|
|
|
test -f a/b-2/c/d |
|
|
|
|
|
|
|
' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test_expect_failure 'Handle F/D conflict, do not lose a/b-2/c/d in merge (recursive)' ' |
|
|
|
|
|
|
|
git reset --hard && |
|
|
|
|
|
|
|
git checkout master^0 && |
|
|
|
|
|
|
|
git merge -s recursive baseline^0 && |
|
|
|
|
|
|
|
test -h a/b && |
|
|
|
|
|
|
|
test -f a/b-2/c/d |
|
|
|
|
|
|
|
' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test_expect_failure 'do not lose untracked in merge (resolve)' ' |
|
|
|
|
|
|
|
git reset --hard && |
|
|
|
|
|
|
|
git checkout baseline^0 && |
|
|
|
|
|
|
|
>a/b/c/e && |
|
|
|
|
|
|
|
test_must_fail git merge -s resolve master && |
|
|
|
|
|
|
|
test -f a/b/c/e && |
|
|
|
|
|
|
|
test -f a/b-2/c/d |
|
|
|
|
|
|
|
' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test_expect_success 'do not lose untracked in merge (recursive)' ' |
|
|
|
|
|
|
|
git reset --hard && |
|
|
|
|
|
|
|
git checkout baseline^0 && |
|
|
|
|
|
|
|
>a/b/c/e && |
|
|
|
|
|
|
|
test_must_fail git merge -s recursive master && |
|
|
|
|
|
|
|
test -f a/b/c/e && |
|
|
|
|
|
|
|
test -f a/b-2/c/d |
|
|
|
|
|
|
|
' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test_expect_success 'do not lose modifications in merge (resolve)' ' |
|
|
|
|
|
|
|
git reset --hard && |
|
|
|
|
|
|
|
git checkout baseline^0 && |
|
|
|
|
|
|
|
echo more content >>a/b/c/d && |
|
|
|
|
|
|
|
test_must_fail git merge -s resolve master |
|
|
|
|
|
|
|
' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test_expect_success 'do not lose modifications in merge (recursive)' ' |
|
|
|
|
|
|
|
git reset --hard && |
|
|
|
|
|
|
|
git checkout baseline^0 && |
|
|
|
|
|
|
|
echo more content >>a/b/c/d && |
|
|
|
|
|
|
|
test_must_fail git merge -s recursive master |
|
|
|
|
|
|
|
' |
|
|
|
|
|
|
|
|
|
|
|
test_expect_success 'setup a merge where dir a/b-2 changed to symlink' ' |
|
|
|
test_expect_success 'setup a merge where dir a/b-2 changed to symlink' ' |
|
|
|
git reset --hard && |
|
|
|
git reset --hard && |
|
|
|
git checkout start^0 && |
|
|
|
git checkout start^0 && |
|
|
@ -74,7 +122,7 @@ test_expect_success 'setup a merge where dir a/b-2 changed to symlink' ' |
|
|
|
git tag test2 |
|
|
|
git tag test2 |
|
|
|
' |
|
|
|
' |
|
|
|
|
|
|
|
|
|
|
|
test_expect_success 'merge should not have conflicts (resolve)' ' |
|
|
|
test_expect_success 'merge should not have D/F conflicts (resolve)' ' |
|
|
|
git reset --hard && |
|
|
|
git reset --hard && |
|
|
|
git checkout baseline^0 && |
|
|
|
git checkout baseline^0 && |
|
|
|
git merge -s resolve test2 && |
|
|
|
git merge -s resolve test2 && |
|
|
@ -82,7 +130,7 @@ test_expect_success 'merge should not have conflicts (resolve)' ' |
|
|
|
test -f a/b/c/d |
|
|
|
test -f a/b/c/d |
|
|
|
' |
|
|
|
' |
|
|
|
|
|
|
|
|
|
|
|
test_expect_failure 'merge should not have conflicts (recursive)' ' |
|
|
|
test_expect_failure 'merge should not have D/F conflicts (recursive)' ' |
|
|
|
git reset --hard && |
|
|
|
git reset --hard && |
|
|
|
git checkout baseline^0 && |
|
|
|
git checkout baseline^0 && |
|
|
|
git merge -s recursive test2 && |
|
|
|
git merge -s recursive test2 && |
|
|
@ -90,4 +138,12 @@ test_expect_failure 'merge should not have conflicts (recursive)' ' |
|
|
|
test -f a/b/c/d |
|
|
|
test -f a/b/c/d |
|
|
|
' |
|
|
|
' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test_expect_failure 'merge should not have F/D conflicts (recursive)' ' |
|
|
|
|
|
|
|
git reset --hard && |
|
|
|
|
|
|
|
git checkout -b foo test2 && |
|
|
|
|
|
|
|
git merge -s recursive baseline^0 && |
|
|
|
|
|
|
|
test -h a/b-2 && |
|
|
|
|
|
|
|
test -f a/b/c/d |
|
|
|
|
|
|
|
' |
|
|
|
|
|
|
|
|
|
|
|
test_done |
|
|
|
test_done |
|
|
|