Re: Fwd: [RFC/FR] Should "git checkout (-B|-b) branch master...branch" work?
- From
Michael Haggerty <mhagger@alum.mit.edu>
- Date
- Dec 21, 2012, 19:43 UTC
- Message-ID
- <50D4BBDC.6030700@alum.mit.edu>
- In-Reply-To
- <7vr4mj1g8j.fsf@alter.siamese.dyndns.org>
On 12/21/2012 06:12 PM, Junio C Hamano wrote:
Show 9 quoted lines
> "diff" is always about two endpoints, not the path that connects > these two endpoints (aka "range"), and when you want to "diff" > between two commits, you say "diff A B". "A..B" happens to be > accepted as such only by accident (e.g. the old command line parser > did not have a reliable way to tell "^A B" and "A..B" apart), not by > design. > > side note: incidentally, now we have rev_cmdline_info support, > we could start deprecating "diff A..B" syntax.
I often find myself using "git diff A..B" syntax when using the command line history because the previous command used "A..B"; e.g.,
git log A..B
git diff A..BIt's quick to recall the previous command, edit "log" -> "diff", and press enter; having to remove the dots would require a few extra keypresses.
Show 8 quoted lines
> Actually, in many places where the command line parser knows it > wants a single point, and never a range, we should be able to apply > the "A...B as a notation to specify a single point" rule. > > Of course you could come up with a symbol other than "..." for that > purpose, and migrate the current "git checkout A...B" special case > to use that other symbol, but that would be more work and also you > would need to retrain existing users.
OTOH making A...B sometimes mean a range and sometimes a merge-base (depending on context) adds a confusing non-uniformity, and also has the disadvantage of making merge-base shorthand unavailable in contexts that allow a range.
OTOOH git already has so many notations that can be used on the command line; inventing yet another one would make it that much more overwhelming.
Michael
-- Michael Haggerty mhagger@alum.mit.edu http://softwareswirl.blogspot.com/