Re: [PATCH] branch: allow "-" as a short-hand for "previous branch"
From: Rubén Justo <hidden>
Date: 2022-08-13 09:08:50
Hi Johannes, Thanks for the /allow! On Mon, Aug 8, 2022 at 3:26 PM Johannes Schindelin [off-list ref] 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`.quoted
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 -quoted
+ 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...