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 <junkio@cox.net>
This commit is contained in:
Junio C Hamano 2005-11-09 18:54:14 -08:00
parent a489352e3d
commit 13956670a7

View file

@ -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