diff options
Diffstat (limited to 't/t3430-rebase-merges.sh')
-rwxr-xr-x | t/t3430-rebase-merges.sh | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/t/t3430-rebase-merges.sh b/t/t3430-rebase-merges.sh index 2608e5483d..9e62297274 100755 --- a/t/t3430-rebase-merges.sh +++ b/t/t3430-rebase-merges.sh @@ -70,7 +70,6 @@ test_expect_success 'create completely different structure' ' merge -C H second merge onebranch # Merge the topic branch '\''onebranch'\'' EOF - cp script-from-scratch script-from-scratch-orig && test_config sequence.editor \""$PWD"/replace-editor.sh\" && test_tick && git rebase -i -r A && @@ -316,18 +315,52 @@ test_expect_success 'A root commit can be a cousin, treat it that way' ' test_expect_success 'labels that are object IDs are rewritten' ' git checkout -b third B && - test_tick && test_commit I && third=$(git rev-parse HEAD) && git checkout -b labels master && git merge --no-commit third && test_tick && git commit -m "Merge commit '\''$third'\'' into labels" && - cp script-from-scratch-orig script-from-scratch && + echo noop >script-from-scratch && test_config sequence.editor \""$PWD"/replace-editor.sh\" && test_tick && git rebase -i -r A && + grep "^label $third-" .git/ORIGINAL-TODO && ! grep "^label $third$" .git/ORIGINAL-TODO ' +test_expect_success 'octopus merges' ' + git checkout -b three && + test_commit before-octopus && + test_commit three && + git checkout -b two HEAD^ && + test_commit two && + git checkout -b one HEAD^ && + test_commit one && + test_tick && + (GIT_AUTHOR_NAME="Hank" GIT_AUTHOR_EMAIL="hank@sea.world" \ + git merge -m "Tüntenfüsch" two three) && + + : fast forward if possible && + before="$(git rev-parse --verify HEAD)" && + test_tick && + git rebase -i -r HEAD^^ && + test_cmp_rev HEAD $before && + + test_tick && + git rebase -i --force -r HEAD^^ && + test "Hank" = "$(git show -s --format=%an HEAD)" && + test "$before" != $(git rev-parse HEAD) && + test_cmp_graph HEAD^^.. <<-\EOF + *-. Tüntenfüsch + |\ \ + | | * three + | * | two + | |/ + * | one + |/ + o before-octopus + EOF +' + test_done |