diff options
author | Mike Hommey <mh@glandium.org> | 2008-03-01 11:32:14 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-03-01 23:52:00 -0800 |
commit | 48411d2233aec65b612ac2b1f50540ec60f0f568 (patch) | |
tree | 8500192f915d3cf5836015a3057f939738ad679d | |
parent | Documentation/git-rebase.txt: Add --strategy to synopsys (diff) | |
download | tgif-48411d2233aec65b612ac2b1f50540ec60f0f568.tar.xz |
git rebase --abort: always restore the right commit
Previously, --abort would end by git resetting to ORIG_HEAD, but some
commands, such as git reset --hard (which happened in git rebase --skip,
but could just as well be typed by the user), would have already modified
ORIG_HEAD.
Just use the orig-head we store in $dotest instead.
Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | git-rebase.sh | 5 | ||||
-rwxr-xr-x | t/t3407-rebase-abort.sh | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/git-rebase.sh b/git-rebase.sh index bdcea0ed70..6b9af962a9 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -208,16 +208,15 @@ do if test -d "$dotest" then move_to_original_branch - rm -r "$dotest" elif test -d .dotest then dotest=.dotest move_to_original_branch - rm -r .dotest else die "No rebase in progress?" fi - git reset --hard ORIG_HEAD + git reset --hard $(cat $dotest/orig-head) + rm -r "$dotest" exit ;; --onto) diff --git a/t/t3407-rebase-abort.sh b/t/t3407-rebase-abort.sh index 94bdd72330..3417138a80 100755 --- a/t/t3407-rebase-abort.sh +++ b/t/t3407-rebase-abort.sh @@ -29,7 +29,7 @@ test_expect_success 'rebase --abort' ' test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) ' -test_expect_failure 'rebase --abort after --skip' ' +test_expect_success 'rebase --abort after --skip' ' # Clean up the state from the previous one git reset --hard pre-rebase rm -rf .dotest |