Re: Newbie question regarding 3way merge order.
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- Feb 2, 2009, 16:10 UTC
- Message-ID
- <49871ADA.4080905@viscovery.net>
- In-Reply-To
- <871vugc2c8.fsf@gigli.quasi.internal>
Please don't set Mail-Followup-To: here, and keep the Cc: list.
Raimund Berger schrieb:
Show 6 quoted lines
> do the following conditions hold > > (i) A+B == B+A for all commits A,B > (ii) (A+B)+C == A+(B+C) for all A,B,C > > where "+" designates the standard git 3way merge?
I don't think that (ii) does holds in general.
[ In the examples consider each letter/symbol on a line by itself; this saves vertical space. ]
Start with this (the merge base):
f(a)
and there are three topic branches growing from here: A makes this (rename f->g):
g(a)
B makes this (add another f):
f(a)f(b)
C makes this (renames a->c):
f(c)
Then A+B is
g(a)f(b)
A+C is
g(c)
B+C is
f(c)f(b)
(A+B)+C is
g(c)f(b)
but A+(B+C) is ambiguous:
g(c)f(b) or f(c)g(b)
-- Hannes