J. Bruce Fields wrote:
On Sat, Jul 01, 2006 at 05:09:26PM +0200, Rene Scharfe wrote:
quoted
+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