From: Ivan Tham Date: Thu, 30 Apr 2020 03:43:23 GMT Subject: Re: [PATCH] branch: add '-' to delete previous branch Message-ID: <20200430034323.wwsxzru7pcw2xsju@arch> In-Reply-To: <87v9likr5a.fsf@osv.gnss.ru> On Wed, Apr 29, 2020 at 10:50:41PM +0300, Sergey Organov wrote: >Taylor Blau writes: > >> In my opinion, it is fairly clear that 'git branch -D -' means "delete >> the last branch", and not "delete a list of branches from stdin. > >Honestly, I'd never guess it'd "delete the last branch". No way. > >"-" standing by itself in a command means stdin, stdout, or otherwise a >typo. Using it for any other meaning is a blasphemy. Sure, nobody will >die because of this, but it's /extremely/ confusing! > >BTW, what about mistyping: > >$ git branch -d - f my_branch > >for > >$ git branch -d -f my_branch > >or some such? I already knew `git checkout -` and `git switch -` exists and have been using them quite frequently as my workflow, but when I wanted to go back to my original branch and delete the branch, I tried `git branch -D -` quite a few times and I am surprised it does not work as expected. Yes, that typo would have deleted a branch but it could be restored from reflog at the very least. >No, it still doesn't look like a good idea to use isolated '-' as >suggested by the patch. > >OTOH, for otherwise unusual @{-1}, @{-}, or @- I'd immediately realize I >must consult the manual, so these would be fine with me. But yes, I didn't know @{-1} or @{-} or @- exists before I was sending this patch, I only know I can use - which is very simple.