J. Bruce Fields wrote: > On Sat, Jul 01, 2006 at 05:09:26PM +0200, Rene Scharfe wrote: >> +Another special notation is <commit1>...<commit2> 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 - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html