From 48411d2233aec65b612ac2b1f50540ec60f0f568 Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Sat, 1 Mar 2008 11:32:14 +0100 Subject: [PATCH] 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 --- git-rebase.sh | 5 ++--- 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 -- 2.11.4.GIT