Thread (1 message) 1 message, 1 author, 2022-02-16

Re: [PATCH] branch: delete now accepts '-' as branch name

From: Junio C Hamano <hidden>
Date: 2022-02-16 19:42:02

Eric Sunshine [off-list ref] writes:
On 2/16/22 11:54 AM, Junio C Hamano wrote:
quoted
From: "Erlend E. Aasland" <redacted>
quoted
This makes it easy to get rid of short-lived branches:

$ git switch -c experiment
$ git switch -
$ git branch -D -
Or you can use @{-1} directly.  Or short-lived experiment can
directly be done on HEAD without any branch ;-)
Thanks for trying to make Git better.
Patches implementing this behavior for `git branch -D` have been
submitted previously but were rejected (if I recall correctly) since 
"delete" is a destructive operation, unlike other cases in which `-`
is accepted. A relatively recent submission and ensuing discussion is
at [1].

[1]: https://lore.kernel.org/git/20200501222227.GE41612@syl.local/T/ (local)
I think the thread around [ref] is what you
have in mind as the origin of

 * "-" usually stands for "read from standard input" and using it to
   mean "the previous branch" is a source of confusion, and cannot
   be defended with the excuse of "'cd -' is used to go back to
   where we were" when the command is not going back to that branch
   (i.e. not "checkout -" or "switch -").

 * it is doubly dubious to make it easy to type "-" to cause
   something destructive.

 * on the other hand, since "checkout -" already makes "-" as a
   synonym to "@{-1}", not supporting it elsewhere may appear
   inconsistent.

I personally am sympathetic to the first point, but not that
sympathetic to the second one.  We made it worse since then by
accepting "merge -", which is not about going back, though.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help