summaryrefslogtreecommitdiff
path: root/builtin/worktree.c
diff options
context:
space:
mode:
authorJordan DE GEA <jordan.de-gea@grenoble-inp.org>2016-05-27 13:17:08 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-05-31 19:28:25 (GMT)
commit1a450e2fd1f82311b214851d5b097b74c8fb0ade (patch)
treef06a2ef566d95a336e854212c7ad41aed2f7912d /builtin/worktree.c
parentf3913c2d03abc660140678a9e14dac399f847647 (diff)
downloadgit-1a450e2fd1f82311b214851d5b097b74c8fb0ade.zip
git-1a450e2fd1f82311b214851d5b097b74c8fb0ade.tar.gz
git-1a450e2fd1f82311b214851d5b097b74c8fb0ade.tar.bz2
worktree: allow "-" short-hand for @{-1} in add command
Since `git worktree add` uses `git checkout` when `[<branch>]` is used, and `git checkout -` is already supported, it makes sense to allow the same shortcut in `git worktree add`. Signed-off-by: Jordan DE GEA <jordan.de-gea@grenoble-inp.org> Signed-off-by: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/worktree.c')
-rw-r--r--builtin/worktree.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/builtin/worktree.c b/builtin/worktree.c
index 96a2834..e3199a2 100644
--- a/builtin/worktree.c
+++ b/builtin/worktree.c
@@ -340,6 +340,9 @@ static int add(int ac, const char **av, const char *prefix)
path = prefix ? prefix_filename(prefix, strlen(prefix), av[0]) : av[0];
branch = ac < 2 ? "HEAD" : av[1];
+ if (!strcmp(branch, "-"))
+ branch = "@{-1}";
+
opts.force_new_branch = !!new_branch_force;
if (opts.force_new_branch) {
struct strbuf symref = STRBUF_INIT;