diff options
author | Mike Hommey <mh@glandium.org> | 2008-02-29 23:08:47 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-03-01 01:15:32 -0800 |
commit | 3ebfe63a82cdad55f4b4401f22be07f04cd438c2 (patch) | |
tree | 434ecb16999032ca4dd5549242c66435a0345ce4 /t/t3407-rebase-abort.sh | |
parent | c3b088d9daa8294101dbfed4b2db0373ef24d52b (diff) | |
download | git-3ebfe63a82cdad55f4b4401f22be07f04cd438c2.tar.gz |
Add test for git rebase --abort
We expect git rebase --abort to come back to the original (pre-rebase)
head, independently from when it's run during a rebase.
Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t3407-rebase-abort.sh')
-rwxr-xr-x | t/t3407-rebase-abort.sh | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/t/t3407-rebase-abort.sh b/t/t3407-rebase-abort.sh new file mode 100755 index 0000000000..94bdd72330 --- /dev/null +++ b/t/t3407-rebase-abort.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +test_description='git rebase --abort tests' + +. ./test-lib.sh + +test_expect_success setup ' + echo a > a && + git add a && + git commit -m a && + git branch to-rebase && + + echo b > a && + git commit -a -m b && + echo c > a && + git commit -a -m c && + + git checkout to-rebase && + echo d > a && + git commit -a -m "merge should fail on this" && + echo e > a && + git commit -a -m "merge should fail on this, too" && + git branch pre-rebase +' + +test_expect_success 'rebase --abort' ' + test_must_fail git rebase master && + git rebase --abort && + test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) +' + +test_expect_failure 'rebase --abort after --skip' ' + # Clean up the state from the previous one + git reset --hard pre-rebase + rm -rf .dotest + + test_must_fail git rebase master && + test_must_fail git rebase --skip && + test $(git rev-parse HEAD) = $(git rev-parse master) && + git rebase --abort && + test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) +' + +test_expect_success 'rebase --abort after --continue' ' + # Clean up the state from the previous one + git reset --hard pre-rebase + rm -rf .dotest + + test_must_fail git rebase master && + echo c > a && + echo d >> a && + git add a && + test_must_fail git rebase --continue && + test $(git rev-parse HEAD) != $(git rev-parse master) && + git rebase --abort && + test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) +' + +test_done |