From 13956670a7baf4b3b794a2cc799bd501753f1746 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 9 Nov 2005 18:54:14 -0800 Subject: 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 --- git-merge.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'git-merge.sh') diff --git a/git-merge.sh b/git-merge.sh index b810fceaf8..7f481e4caa 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 -- cgit v1.2.3