From 4782cf2ab686bacca8d2908319981ac27d54ca25 Mon Sep 17 00:00:00 2001 From: Philippe Blain Date: Sun, 27 Oct 2019 17:16:25 +0000 Subject: worktree: teach "add" to ignore submodule.recurse config "worktree add" internally calls "reset --hard", but if submodule.recurse is set, reset tries to recurse into initialized submodules, which makes start_command try to cd into non-existing submodule paths and die. Fix that by making sure that the call to reset in "worktree add" does not recurse. Signed-off-by: Philippe Blain Signed-off-by: Junio C Hamano --- builtin/worktree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'builtin/worktree.c') diff --git a/builtin/worktree.c b/builtin/worktree.c index a5bb02b207..958bea97fe 100644 --- a/builtin/worktree.c +++ b/builtin/worktree.c @@ -377,7 +377,7 @@ static int add_worktree(const char *path, const char *refname, if (opts->checkout) { cp.argv = NULL; argv_array_clear(&cp.args); - argv_array_pushl(&cp.args, "reset", "--hard", NULL); + argv_array_pushl(&cp.args, "reset", "--hard", "--no-recurse-submodules", NULL); if (opts->quiet) argv_array_push(&cp.args, "--quiet"); cp.env = child_env.argv; -- cgit v1.3