From: Junio C Hamano Date: Thu, 21 Sep 2006 06:43:29 GMT Subject: Re: [PATCH] add receive.denyNonFastforwards config variable Message-ID: <7vbqp9d8j2.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <20060921055252.GA29479@coredump.intra.peff.net> Jeff King writes: >> X - a - b - c - Y >> / / >> o - d - e - f > > In your example, git-merge-base X Y returns X. In fact, I could only get > one merge base out of git-merge-base --all. I tried looking in the tests > to find a case that produced multiple merge bases, but I was unable to > find one. Is there an example floating around somewhere? There are quite a few in git.git itself. In the recent history, this counts 42, the answer to everything. #!/bin/sh LF=' ' git rev-list --parents master..next | while read it p1 p2 octo do case "$p2" in '') continue ;; esac mb=`git merge-base --all "$p1" "$p2"` case "$mb" in ?*"$LF"?*) echo "$p1 $p2" : $mb ;; esac done