@matheusbsbs / matheus-bagliano / commits / c670aa47df
Fork 0

worktree: teach `add` to recognize -d as shorthand for --detach

Like `git switch` and `git checkout`, `git worktree add` can check out a branch or set up a detached HEAD. However, unlike those other commands, `git worktree add` does not understand -d as shorthand for --detach, which may confound users accustomed to using -d for this purpose. Address this shortcoming by teaching `add` to recognize -d for --detach, thus bringing it in line with the other commands. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Eric Sunshine committed Sep 6, 2020 at 20:02 UTC c670aa47dff9829360cc69174f8dd0d82f096011
2 files changed +2 -1
Documentation/git-worktree.txt
+1
@@ -143,6 +143,7 @@ To remove a locked working tree, specify `--force` twice.
143 exists. `-B` overrides this safeguard, resetting `<new-branch>` to
144 `<commit-ish>`.
145
146 +-d::
147 --detach::
148 With `add`, detach `HEAD` in the new working tree. See "DETACHED HEAD"
149 in linkgit:git-checkout[1].
builtin/worktree.c
+1 -1
@@ -555,7 +555,7 @@ static int add(int ac, const char **av, const char *prefix)
555 N_("create a new branch")),
556 OPT_STRING('B', NULL, &new_branch_force, N_("branch"),
557 N_("create or reset a branch")),
558 - OPT_BOOL(0, "detach", &opts.detach, N_("detach HEAD at named commit")),
558 + OPT_BOOL('d', "detach", &opts.detach, N_("detach HEAD at named commit")),
559 OPT_BOOL(0, "checkout", &opts.checkout, N_("populate the new working tree")),
560 OPT_BOOL(0, "lock", &opts.keep_locked, N_("keep the new working tree locked")),
561 OPT__QUIET(&opts.quiet, N_("suppress progress reporting")),