Re: my git problem
- From
- J. Bruce Fields <bfields@fieldses.org>
- Date
- Apr 29, 2008, 17:15 UTC
- Message-ID
- <20080429171519.GA21310@fieldses.org>
- In-Reply-To
- <alpine.LFD.1.10.0804281222190.3119@woody.linux-foundation.org>
On Mon, Apr 28, 2008 at 12:28:38PM -0700, Linus Torvalds wrote:
Show 15 quoted lines
> > > On Mon, 28 Apr 2008, Johannes Schindelin wrote: > > > > On Mon, 28 Apr 2008, Andrew Morton wrote: > > > > > > That's missing the "logical" bit :) > > > > Heh, you're right. I am too used to Git to think how other people would > > feel about these things... :-) > > No, you are both wrong. > > You're wrong because apparently you never did abstract algebra and set > theory in school.
Hmph. I've got a PhD in algebra and still find that choice of operators confusing.
(Which may just be further evidence that one can take a lot of classes and still be an idiot.)
Show 10 quoted lines
> If you know math, git actually does the rigth and very much the *logical* > thing. > > So ".." is a simple difference, while "..." is a more complex difference. > > They mean different things for different operation types, but that is > again something a math person takes for granted (ie in algebra, a "+" or > "-" is just a random operation that follows certain rules: "a-b" means one > thing for the set of real numbers, and something *totally* different if > you are talking about set algebra).
I suspect one reason the set-difference operator is more commonly written with a backslash than a minus sign is that set difference is different enough from anything else usually called subtraction that most people find it confusing to use the same notation.
I can sorta buy the argument that "A...B" means most generally "some kind of difference between the three sets A, A^B, and B", and that in the context of "git diff" it's most sensible to take ordering into account and produce some approximation of a diff between A^B and B. I'd personally have found an entirely separate operator simpler to understand. But perhaps there's only so many keys on the keyboard.
--b.