[BUG] Highly inconsistent diff UI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

The 'git diff <commit> <commit>' form is perfectly fine: I can
understand that diff takes two commit^{tree}s to compare.
Unfortunately, it also shows off the examples 'git diff A..B' and 'git
diff A...B', where A..B and A...B do not correspond to the meaning
specified in gitrevisions.txt.  There's a note in the documentation
saying this, but I'm very unhappy.

I can understand that rev-parse parses A..B into ^A B.  'git diff
A..B' is the same as 'git diff A B', 'git diff B ^A', and 'git diff ^A
B'?  (Yeah, I saw the code and found out that it swaps the arguments
only if the second argument is UNINTERESTING)

rev-parse parses A...B into A B ^$(merge-base --all A B).  But 'git
diff A...B' means 'git diff $(git merge-base A B) B'?  And the
merge-base is picked at random (found out that from the code)?

What about other things like 'git diff ^A ^B' and 'git diff A^!'?  Why
is diff so inconsistent with everything else?  Why are A..B and A...B
almost coded in as special cases?  What should we do to improve the
situation?

Thanks for listening.
--
To unsubscribe from this list: 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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]