git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[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.com
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@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
Previous: Johannes SchindelinNext: Junio C Hamano
Message 18 of 24 in “branch: allow "-" as a short-hand for "previous branch"”
  1. branch: allow "-" as a short-hand for "previous branch"Rubén Justo via GitGitGadget, Aug 7, 2022
  2. Johannes SchindelinAug 8, 2022
  3. Junio C HamanoAug 8, 2022
  4. Rubén JustoAug 13, 2022
  5. Junio C HamanoAug 13, 2022
  6. Johannes SchindelinAug 16, 2022
  7. Johannes SchindelinAug 19, 2022
  8. Junio C HamanoAug 19, 2022
  9. Rubén JustoAug 25, 2022
  10. Junio C HamanoAug 25, 2022
  11. Rubén JustoAug 25, 2022
  12. Rubén JustoAug 13, 2022
  13. Junio C HamanoAug 8, 2022
  14. Rubén JustoAug 13, 2022
  15. Johannes SchindelinAug 16, 2022
  16. Rubén JustoAug 16, 2022
  17. Johannes SchindelinAug 19, 2022
  18. allow "-" as short-hand for "@{-1}" in "branch -d"Rubén Justo via GitGitGadget, Aug 16, 2022
  19. Junio C HamanoAug 16, 2022
  20. Rubén JustoAug 16, 2022
  21. branch: allow "-" as a short-hand for "previous branch"Rubén Justo, Aug 16, 2022
  22. branch: allow "-" as a shortcut for "previous branch"Rubén Justo, Sep 11, 2022
  23. Junio C HamanoSep 12, 2022
  24. Rubén JustoSep 12, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.