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@xxxxxxxx> --- This is an attempt at fixing the failure. I don't know whether it is problematic to leave a "patch" behind if there was actually a merge. Nevertheless, all rebase tests pass. -- Hannes git-rebase--interactive.sh | 3 +-- t/t3409-rebase-preserve-merges.sh | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index 1172e47..89c39eb 100755 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -253,15 +253,14 @@ pick_one_preserving_merges () { if ! GIT_AUTHOR_NAME="$GIT_AUTHOR_NAME" \ GIT_AUTHOR_EMAIL="$GIT_AUTHOR_EMAIL" \ GIT_AUTHOR_DATE="$GIT_AUTHOR_DATE" \ 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 ;; *) output git cherry-pick "$@" || die_with_patch $sha1 "Could not pick $sha1" ;; diff --git a/t/t3409-rebase-preserve-merges.sh b/t/t3409-rebase-preserve-merges.sh index 5ddd1d1..820e010 100755 --- a/t/t3409-rebase-preserve-merges.sh +++ b/t/t3409-rebase-preserve-merges.sh @@ -72,13 +72,13 @@ test_expect_success 'rebase -p fakes interactive rebase' ' git rebase -p origin/topic && test 1 = $(git rev-list --all --pretty=oneline | grep "Modify A" | wc -l) && test 1 = $(git rev-list --all --pretty=oneline | grep "Merge commit" | wc -l) ) ' -test_expect_failure '--continue works after a conflict' ' +test_expect_success '--continue works after a conflict' ' ( cd clone2 && git fetch && test_must_fail git rebase -p origin/topic && test 2 = $(git ls-files B | wc -l) && echo Resolved again > B && -- 1.6.1.rc2.22.gf3bf84 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html