From: rjusto <rjusto@xxxxxxxxx> 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@xxxxxxxxx> --- 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@xxxxxxxxx Published-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@xxxxxxxxx> ## 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@xxxxxxxxx> ## 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