Browse Source

rebase -i -p: Fix --continue after a merge could not be redone

When a merge that has a conflict was rebased, then rebase stopped to let
the user resolve the conflicts. However, thereafter --continue failed
because the author-script was not saved. (This is rebase -i's way to
preserve a commit's authorship.) This fixes it by doing taking the same
failure route after a merge that is also taken after a normal cherry-pick.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Johannes Sixt 16 years ago committed by Junio C Hamano
parent
commit
f5b49ea619
  1. 3
      git-rebase--interactive.sh
  2. 2
      t/t3409-rebase-preserve-merges.sh

3
git-rebase--interactive.sh

@ -256,9 +256,8 @@ pick_one_preserving_merges () { @@ -256,9 +256,8 @@ pick_one_preserving_merges () {
output git merge $STRATEGY -m "$msg" \
$new_parents
then
git rerere
printf "%s\n" "$msg" > "$GIT_DIR"/MERGE_MSG
die Error redoing merge $sha1
die_with_patch $sha1 "Error redoing merge $sha1"
fi
;;
*)

2
t/t3409-rebase-preserve-merges.sh

@ -75,7 +75,7 @@ test_expect_success 'rebase -p fakes interactive rebase' ' @@ -75,7 +75,7 @@ test_expect_success 'rebase -p fakes interactive rebase' '
)
'

test_expect_failure '--continue works after a conflict' '
test_expect_success '--continue works after a conflict' '
(
cd clone2 &&
git fetch &&

Loading…
Cancel
Save