summaryrefslogtreecommitdiff
path: root/git-rebase.sh
diff options
context:
space:
mode:
authorMike Hommey <mh@glandium.org>2008-03-01 11:32:14 +0100
committerJunio C Hamano <gitster@pobox.com>2008-03-11 19:30:33 -0700
commit4201bb5f7e408143dc5bf35497cc82bc803fe9fb (patch)
tree1ffdcfe10713902a4490e02b12124a7f62a0d71f /git-rebase.sh
parent92aeb994d3195d3601df2e37052d60f9a6738b61 (diff)
downloadgit-4201bb5f7e408143dc5bf35497cc82bc803fe9fb.tar.gz
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. [jc: cherry-picked from 48411d and 4947cf9 on 'master'] Signed-off-by: Mike Hommey <mh@glandium.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-rebase.sh')
-rwxr-xr-xgit-rebase.sh5
1 files changed, 2 insertions, 3 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)