From: Rubén Justo Date: Sat, 13 Aug 2022 09:08:43 GMT Subject: Re: [PATCH] branch: allow "-" as a short-hand for "previous branch" Message-ID: <8b00e461-dbf2-1bd8-f9bd-b4c5673dd450@gmail.com> In-Reply-To: Hi Johannes, Thanks for the /allow! On Mon, Aug 8, 2022 at 3:26 PM Johannes Schindelin wrote: > Touching only the `delete_branches()` function suggests that other > commands are left as before, e.g. `git branch --unset-upstream -` would > probably fail. > > That's fine, but the commit message claims that the `"-"` special-casing > is introduced for the `git branch` command, not just for `git branch -d`. > >> die(_("Couldn't look up commit object for HEAD")); >> } > At this stage, we already handled the `--remotes` flag, therefore I think > that this patch does not do the intended thing for this command-line: > > git branch -d --remotes - > >> + if ((argc == 1) && !strcmp(argv[0], "-")) { >> + argv[0] = "@{-1}"; >> + } > This means that we only handle `git branch -d -`, but not `git branch -d > some-branch - some-other-branch`. > > Could you fix that? I did it on purpose, to be interpreted in the context of "git branch -d/D" with just one branch: "previous branch". I agree the commit message does not suggest this, I can fix it. My intention is a short-hand for "delete previous branch", the same way "git merge -" is "merge previous branch". The workflow to address is just allow doing: $ git checkout work_to_review $ git checkout - $ git merge - $ git branch -d - Instead of: $ git checkout work_to_review $ git checkout - $ git merge - $ git branch -d work_to_review The syntax @{-1} is hard for me to write, and I feel intuitive "-", like in "cd -". Make sense to me...