path: root/builtin/worktree.c
diff options
authorThomas Gummerer <>2017-11-29 20:04:51 (GMT)
committerJunio C Hamano <>2017-12-06 17:47:35 (GMT)
commite92445a73173cf21a11b8e79cb7be16485deec69 (patch)
treef23d5693f2c33306d7f17bea1165d65a602c045a /builtin/worktree.c
parent71d6682d8ca9870cbe457cf55c83402c33b41030 (diff)
add worktree.guessRemote config option
Some users might want to have the --guess-remote option introduced in the previous commit on by default, so they don't have to type it out every time they create a new worktree. Add a config option worktree.guessRemote that allows users to configure the default behaviour for themselves. Signed-off-by: Thomas Gummerer <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'builtin/worktree.c')
1 files changed, 12 insertions, 2 deletions
diff --git a/builtin/worktree.c b/builtin/worktree.c
index 15cb160..002a569 100644
--- a/builtin/worktree.c
+++ b/builtin/worktree.c
@@ -33,8 +33,19 @@ struct add_opts {
static int show_only;
static int verbose;
+static int guess_remote;
static timestamp_t expire;
+static int git_worktree_config(const char *var, const char *value, void *cb)
+ if (!strcmp(var, "worktree.guessremote")) {
+ guess_remote = git_config_bool(var, value);
+ return 0;
+ }
+ return git_default_config(var, value, cb);
static int prune_worktree(const char *id, struct strbuf *reason)
struct stat st;
@@ -343,7 +354,6 @@ static int add(int ac, const char **av, const char *prefix)
char *path;
const char *branch;
const char *opt_track = NULL;
- int guess_remote = 0;
struct option options[] = {
OPT__FORCE(&opts.force, N_("checkout <branch> even if already checked out in other worktree")),
OPT_STRING('b', NULL, &opts.new_branch, N_("branch"),
@@ -591,7 +601,7 @@ int cmd_worktree(int ac, const char **av, const char *prefix)
- git_config(git_default_config, NULL);
+ git_config(git_worktree_config, NULL);
if (ac < 2)
usage_with_options(worktree_usage, options);