-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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>
- Loading branch information
Mike Hommey
authored and
Junio C Hamano
committed
Mar 1, 2008
1 parent
c3b088d
commit 3ebfe63
Showing
1 changed file
with
59 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |