[PATCH] worktree: treat "list" as default command
From: Nicholas Guriev <hidden>
Date: 2020-06-13 07:34:12
Subsystem:
the rest · Maintainer:
Linus Torvalds
Perceive simple "git worktree" without a subcommand as "git worktree list" for consistency with "git submodule" that already can work in such a way. Signed-off-by: Nicholas Guriev <redacted> --- builtin/worktree.c | 4 ++-- t/t2402-worktree-list.sh | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/builtin/worktree.c b/builtin/worktree.c
index d99db356..ad949eb5 100644
--- a/builtin/worktree.c
+++ b/builtin/worktree.c@@ -960,10 +960,10 @@ int cmd_worktree(int ac, const char **av, const char *prefix) git_config(git_worktree_config, NULL); - if (ac < 2) - usage_with_options(worktree_usage, options); if (!prefix) prefix = ""; + if (ac < 2 || av[1][0] == '-') + return list(ac, av, prefix); if (!strcmp(av[1], "add")) return add(ac - 1, av + 1, prefix); if (!strcmp(av[1], "prune"))
diff --git a/t/t2402-worktree-list.sh b/t/t2402-worktree-list.sh
index 52585ec2..e53bafa3 100755
--- a/t/t2402-worktree-list.sh
+++ b/t/t2402-worktree-list.sh@@ -157,4 +157,16 @@ test_expect_success 'worktree path when called in .git directory' ' test_cmp list1 list2 ' +test_expect_success '"list" is the default command' ' + git worktree >out1 && + git worktree list >out2 && + test_cmp out1 out2 +' + +test_expect_success 'options are passed to default command' ' + git worktree --porcelain >out1 && + git worktree list --porcelain >out2 && + test_cmp out1 out2 +' + test_done
--
2.25.1