Code

rebase -i -p: Fix --continue after a merge could not be redone
authorJohannes Sixt <j6t@kdbg.org>
Mon, 15 Dec 2008 10:05:31 +0000 (11:05 +0100)
committerJunio C Hamano <gitster@pobox.com>
Sun, 21 Dec 2008 09:08:51 +0000 (01:08 -0800)
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>
git-rebase--interactive.sh
t/t3409-rebase-preserve-merges.sh

index 1172e47571dfe1d6dd088381d63045fd5eae3db3..89c39ebc9df58a85011219dff21ffac9dd6a53ab 100755 (executable)
@@ -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
                        ;;
                *)
index 5ddd1d1a93c74fe81da142f07a659c75e3fd9e7c..820e0105d23f97830d7c2c69a32203ed050ea3d8 100755 (executable)
@@ -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 &&