From: Mike Hommey Date: Sat, 1 Mar 2008 10:32:14 +0000 (+0100) Subject: git rebase --abort: always restore the right commit X-Git-Tag: v1.5.5-rc0~104 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=48411d2233aec65b612ac2b1f50540ec60f0f568;p=git.git 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 Signed-off-by: Junio C Hamano --- diff --git a/git-rebase.sh b/git-rebase.sh index bdcea0ed7..6b9af962a 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 94bdd7233..3417138a8 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