mirror of
https://github.com/git/git
synced 2024-08-28 12:09:19 +00:00
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>
This commit is contained in:
parent
f32086becc
commit
48411d2233
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue