[PATCH v2] allow "-" as short-hand for "@{-1}" in "branch -d"
- From
Rubén Justo via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Aug 16, 2022, 17:11 UTC
- Message-ID
- <pull.1315.v2.git.1660669912043.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.1315.git.1659910949556.gitgitgadget@gmail.com>
From: rjusto <rjusto@gmail.com>
Align "branch -d" with the intuitive use of "-" as a short-hand for "@{-1}", like in "checkout", "rebase" and "merge" commands.
$ git branch -d - # short-hand for: "git branch -d @{-1}" $ git branch -D - # short-hand for: "git branch -D @{-1}"
So I can do:
$ git checkout work_to_review $ git checkout - $ git merge - # or git rebase - $ git branch -d -
Signed-off-by: rjusto <rjusto@gmail.com>
---
branch: allow "-" as a short-hand for "previous branch"
Align "branch" with the intuitive use of "-" as a short-hand for
"@{-1}", like in "checkout" and "merge" commands.
$ git branch -d - # short-hand for: "git branch -d @{-1}" $ git branch
-D - # short-hand for: "git branch -D @{-1}"
Signed-off-by: rjusto rjusto@gmail.comPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-1315%2Frjusto%2Fmaster-v2 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1315/rjusto/master-v2 Pull-Request: https://github.com/gitgitgadget/git/pull/1315
Range-diff vs v1:
1: 3ba75097ea0 ! 1: 0fe48ada15b branch: allow "-" as a short-hand for "previous branch"
@@ Metadata
Author: rjusto <rjusto@gmail.com>
## Commit message ##
- branch: allow "-" as a short-hand for "previous branch"
+ allow "-" as short-hand for "@{-1}" in "branch -d"
- Align "branch" with the intuitive use of "-" as a short-hand
- for "@{-1}", like in "checkout" and "merge" commands.
+ Align "branch -d" with the intuitive use of "-" as a short-hand
+ for "@{-1}", like in "checkout", "rebase" and "merge" commands.
$ git branch -d - # short-hand for: "git branch -d @{-1}"
$ git branch -D - # short-hand for: "git branch -D @{-1}"
+ So I can do:
+
+ $ git checkout work_to_review
+ $ git checkout -
+ $ git merge - # or git rebase -
+ $ git branch -d -
+
Signed-off-by: rjusto <rjusto@gmail.com>
## builtin/branch.c ##
@@ builtin/branch.c: static int delete_branches(int argc, const char **argv, int fo
die(_("Couldn't look up commit object for HEAD"));
}
-+ if ((argc == 1) && !strcmp(argv[0], "-")) {
++ if ((argc == 1) && !strcmp(argv[0], "-"))
+ argv[0] = "@{-1}";
-+ }
+
for (i = 0; i < argc; i++, strbuf_reset(&bname)) {
char *target = NULL;builtin/branch.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/builtin/branch.c b/builtin/branch.c index 55cd9a6e998..7f7589bd4a8 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -241,6 +241,9 @@ static int delete_branches(int argc, const char **argv, int force, int kinds, die(_("Couldn't look up commit object for HEAD")); } + if ((argc == 1) && !strcmp(argv[0], "-")) + argv[0] = "@{-1}"; + for (i = 0; i < argc; i++, strbuf_reset(&bname)) { char *target = NULL; int flags = 0; base-commit: 679aad9e82d0dfd8ef3d1f98fa4629665496cec9
-- gitgitgadget