X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=git-merge-resolve.sh;h=93bcfc2f5dce418d00f26257788932d5c738785c;hb=47abd85ba06ed7209d1caa3e5ac7cc6b232bece4;hp=e3b04a0e959676e513a7b7e902ea51927d76e2be;hpb=2276aa6c098a0337bc2bec49742e332bdd1b802c;p=git.git diff --git a/git-merge-resolve.sh b/git-merge-resolve.sh index e3b04a0e9..93bcfc2f5 100755 --- a/git-merge-resolve.sh +++ b/git-merge-resolve.sh @@ -3,7 +3,7 @@ # Copyright (c) 2005 Linus Torvalds # Copyright (c) 2005 Junio C Hamano # -# Resolve two trees, using enhancd multi-base read-tree. +# Resolve two trees, using enhanced multi-base read-tree. # The first parameters up to -- are merge bases; the rest are heads. bases= head= remotes= sep_seen= @@ -25,16 +25,22 @@ do esac done -# Give up if we are given more than two remotes -- not handling octopus. +# Give up if we are given two or more remotes -- not handling octopus. case "$remotes" in ?*' '?*) exit 2 ;; esac -git-update-index --refresh 2>/dev/null -git-read-tree -u -m $bases $head $remotes || exit 2 +# Give up if this is a baseless merge. +if test '' = "$bases" +then + exit 2 +fi + +git update-index --refresh 2>/dev/null +git read-tree -u -m --aggressive $bases $head $remotes || exit 2 echo "Trying simple merge." -if result_tree=$(git-write-tree 2>/dev/null) +if result_tree=$(git write-tree 2>/dev/null) then exit 0 else