From: Junio C Hamano Date: Thu, 10 Nov 2005 02:54:14 +0000 (-0800) Subject: Use 'merge-base --all' where applicable. X-Git-Tag: v0.99.9g^2~1 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;ds=sidebyside;h=13956670a7baf4b3b794a2cc799bd501753f1746;p=git.git Use 'merge-base --all' where applicable. It may get extra merge base on truly pathological commit histories, but is a lot easier to understand, explain, and prove correctness. Signed-off-by: Junio C Hamano --- diff --git a/git-merge.sh b/git-merge.sh index b810fcea..7f481e4c 100755 --- a/git-merge.sh +++ b/git-merge.sh @@ -110,7 +110,14 @@ do die "$remote - not something we can merge" done -common=$(git-show-branch --merge-base $head "$@") +case "$#" in +1) + common=$(git-merge-base --all $head "$@") + ;; +*) + common=$(git-show-branch --merge-base $head "$@") + ;; +esac echo "$head" >"$GIT_DIR/ORIG_HEAD" case "$#,$common,$no_commit" in @@ -162,7 +169,7 @@ case "$#,$common,$no_commit" in up_to_date=t for remote do - common_one=$(git-merge-base $head $remote) + common_one=$(git-merge-base --all $head $remote) if test "$common_one" != "$remote" then up_to_date=f