From: Thomas Glanzmann Date: Mon, 30 May 2005 12:11:00 GMT Subject: Re: More gitweb queries.. Message-ID: <20050530121100.GS12290@cip.informatik.uni-erlangen.de> In-Reply-To: <7vhdgl2ext.fsf@assigned-by-dhcp.cox.net> Hello, > I think merge-base between A and A is always A, so the second pass > would eliminate the dups anyway... two scenarios come into my mind which could clash (second ommited because it would rely that the 'local' HEAD is changes on threeway merge) consider the follow MERGE_HEADS = (A B B) /----- A / -GCA------ B Now B gets twice automatic/threeway/manual merged into A which is just stupid and couldn't work out. ------------------------------------------------------------------------------ But I still don't know how to handle the following scenario: /----- A / -GCA------GCA---- B \---- C MERGES_HEAD = (A B C). I think the best way would be introduce a temporary commit object otherwise C into AB merge would have merge_base on the first GCA which is suboptimal and maybe wrong isn't it? /----- A -------D---E / / / -GCA------GCA---- B / \------- C Where D is a temporary COMMIT obeject to use the second GCA to merge C with D and gets E. Gruesse, Thomas