Thread (13 messages) 13 messages, 4 authors, 2022-09-11

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...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help