From: Jakub Narebski Date: Sat, 01 Jul 2006 18:22:21 GMT Subject: Re: A note on merging conflicts.. Message-ID: In-Reply-To: <20060701180125.GA27550@fieldses.org> J. Bruce Fields wrote: > On Sat, Jul 01, 2006 at 05:09:26PM +0200, Rene Scharfe wrote: >> +Another special notation is ... which is useful for >> +merges. The resulting set of commits is the symmetric difference >> +between the two operands. The following two commands are equivalent: > > What's the logic behind naming the operator "..."? > > Seems like asking for trouble to have two visually similar operators (".." and > "...") with different meanings, and "..." seems like kind of an arbitrary > choice anyway. Because A...B is extension of A..B for merges. > A symmetric difference is basically equivalent to an xor--would a carat ("^") > work? Or could we just stick a word there instead of using some tricky > notation? Caret is used twice, with different meaning. As prefix operator "^" means "exclude lineage of commit" (while commit without "^" in front means: "include lineage of commit and commit itself"). BTW. why we don't use '!' for that? As postfix operator "^" means "dereference", i.e. parent in the case of commit; allows choosing a parent (commit^n) and listing all parents (commit^@). Using it as binary infix operator that would be I think too much. -- Jakub Narebski Warsaw, Poland ShadeHawk on #git