X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-merge.sh;h=92e5a65cae6ebe8d9f9eef71277240e3fbe72315;hb=6a1f79c1f1a54f97f122a86c71837fb1f1408b67;hp=e50fbb1160ad6ccfebc0d65fcc54bc3488e597cd;hpb=1ed91937e5cd59fdbdfa5f15f6fac132d2b21ce0;p=git.git diff --git a/git-merge.sh b/git-merge.sh index e50fbb11..92e5a65c 100755 --- a/git-merge.sh +++ b/git-merge.sh @@ -209,6 +209,7 @@ case "$use_strategies" in esac result_tree= best_cnt=-1 best_strategy= wt_strategy= +merge_was_ok= for strategy in $use_strategies do test "$wt_strategy" = '' || { @@ -228,6 +229,7 @@ do exit=$? if test "$no_commit" = t && test "$exit" = 0 then + merge_was_ok=t exit=1 ;# pretend it left conflicts. fi @@ -293,4 +295,19 @@ do done >"$GIT_DIR/MERGE_HEAD" echo $merge_msg >"$GIT_DIR/MERGE_MSG" -die "Automatic merge failed/prevented; fix up by hand" +if test "$merge_was_ok" = t +then + echo >&2 \ + "Automatic merge went well; stopped before committing as requested" + exit 0 +else + { + echo ' +Conflicts: +' + git ls-files --unmerged | + sed -e 's/^[^ ]* / /' | + uniq + } >>"$GIT_DIR/MERGE_MSG" + die "Automatic merge failed; fix up by hand" +fi