diff options
Diffstat (limited to 'third_party/git/t/t7603-merge-reduce-heads.sh')
-rwxr-xr-x | third_party/git/t/t7603-merge-reduce-heads.sh | 164 |
1 files changed, 0 insertions, 164 deletions
diff --git a/third_party/git/t/t7603-merge-reduce-heads.sh b/third_party/git/t/t7603-merge-reduce-heads.sh deleted file mode 100755 index 98948955ae50..000000000000 --- a/third_party/git/t/t7603-merge-reduce-heads.sh +++ /dev/null @@ -1,164 +0,0 @@ -#!/bin/sh - -test_description='git merge - -Testing octopus merge when reducing parents to independent branches.' - -. ./test-lib.sh - -# 0 - 1 -# \ 2 -# \ 3 -# \ 4 - 5 -# -# So 1, 2, 3 and 5 should be kept, 4 should be avoided. - -test_expect_success 'setup' ' - echo c0 > c0.c && - git add c0.c && - git commit -m c0 && - git tag c0 && - echo c1 > c1.c && - git add c1.c && - git commit -m c1 && - git tag c1 && - git reset --hard c0 && - echo c2 > c2.c && - git add c2.c && - git commit -m c2 && - git tag c2 && - git reset --hard c0 && - echo c3 > c3.c && - git add c3.c && - git commit -m c3 && - git tag c3 && - git reset --hard c0 && - echo c4 > c4.c && - git add c4.c && - git commit -m c4 && - git tag c4 && - echo c5 > c5.c && - git add c5.c && - git commit -m c5 && - git tag c5 -' - -test_expect_success 'merge c1 with c2, c3, c4, c5' ' - git reset --hard c1 && - git merge c2 c3 c4 c5 && - test "$(git rev-parse c1)" != "$(git rev-parse HEAD)" && - test "$(git rev-parse c1)" = "$(git rev-parse HEAD^1)" && - test "$(git rev-parse c2)" = "$(git rev-parse HEAD^2)" && - test "$(git rev-parse c3)" = "$(git rev-parse HEAD^3)" && - test "$(git rev-parse c5)" = "$(git rev-parse HEAD^4)" && - git diff --exit-code && - test -f c0.c && - test -f c1.c && - test -f c2.c && - test -f c3.c && - test -f c4.c && - test -f c5.c && - git show --format=%s -s >actual && - ! grep c1 actual && - grep c2 actual && - grep c3 actual && - ! grep c4 actual && - grep c5 actual -' - -test_expect_success 'pull c2, c3, c4, c5 into c1' ' - git reset --hard c1 && - git pull . c2 c3 c4 c5 && - test "$(git rev-parse c1)" != "$(git rev-parse HEAD)" && - test "$(git rev-parse c1)" = "$(git rev-parse HEAD^1)" && - test "$(git rev-parse c2)" = "$(git rev-parse HEAD^2)" && - test "$(git rev-parse c3)" = "$(git rev-parse HEAD^3)" && - test "$(git rev-parse c5)" = "$(git rev-parse HEAD^4)" && - git diff --exit-code && - test -f c0.c && - test -f c1.c && - test -f c2.c && - test -f c3.c && - test -f c4.c && - test -f c5.c && - git show --format=%s -s >actual && - ! grep c1 actual && - grep c2 actual && - grep c3 actual && - ! grep c4 actual && - grep c5 actual -' - -test_expect_success 'setup' ' - for i in A B C D E - do - echo $i > $i.c && - git add $i.c && - git commit -m $i && - git tag $i - done && - git reset --hard A && - for i in F G H I - do - echo $i > $i.c && - git add $i.c && - git commit -m $i && - git tag $i - done -' - -test_expect_success 'merge E and I' ' - git reset --hard A && - git merge E I -' - -test_expect_success 'verify merge result' ' - test $(git rev-parse HEAD^1) = $(git rev-parse E) && - test $(git rev-parse HEAD^2) = $(git rev-parse I) -' - -test_expect_success 'add conflicts' ' - git reset --hard E && - echo foo > file.c && - git add file.c && - git commit -m E2 && - git tag E2 && - git reset --hard I && - echo bar >file.c && - git add file.c && - git commit -m I2 && - git tag I2 -' - -test_expect_success 'merge E2 and I2, causing a conflict and resolve it' ' - git reset --hard A && - test_must_fail git merge E2 I2 && - echo baz > file.c && - git add file.c && - git commit -m "resolve conflict" -' - -test_expect_success 'verify merge result' ' - test $(git rev-parse HEAD^1) = $(git rev-parse E2) && - test $(git rev-parse HEAD^2) = $(git rev-parse I2) -' - -test_expect_success 'fast-forward to redundant refs' ' - git reset --hard c0 && - git merge c4 c5 -' - -test_expect_success 'verify merge result' ' - test $(git rev-parse HEAD) = $(git rev-parse c5) -' - -test_expect_success 'merge up-to-date redundant refs' ' - git reset --hard c5 && - git merge c0 c4 -' - -test_expect_success 'verify merge result' ' - test $(git rev-parse HEAD) = $(git rev-parse c5) -' - -test_done |