diff options
author | Denton Liu <liu.denton@gmail.com> | 2020-10-07 22:48:15 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-10-08 09:25:29 -0700 |
commit | 64f1f58fe7c0837bd0ae56ba83add5e1b84c54d3 (patch) | |
tree | 9ec6d813813db2e42f52855b96b0fb5abbe72a40 /builtin | |
parent | Documentation/config/checkout: replace sq with backticks (diff) | |
download | tgif-64f1f58fe7c0837bd0ae56ba83add5e1b84c54d3.tar.xz |
checkout: learn to respect checkout.guess
The current behavior of git checkout/switch is that --guess is currently
enabled by default. However, some users may not wish for this to happen
automatically. Instead of forcing users to specify --no-guess manually
each time, teach these commands the checkout.guess configuration
variable that gives users the option to set a default behavior.
Teach the completion script to recognize the new config variable and
disable DWIM logic if it is set to false.
Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/checkout.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/builtin/checkout.c b/builtin/checkout.c index 0951f8fee5..0c0394a0d6 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -1093,11 +1093,16 @@ static int switch_branches(const struct checkout_opts *opts, static int git_checkout_config(const char *var, const char *value, void *cb) { + struct checkout_opts *opts = cb; + if (!strcmp(var, "diff.ignoresubmodules")) { - struct checkout_opts *opts = cb; handle_ignore_submodules_arg(&opts->diff_options, value); return 0; } + if (!strcmp(var, "checkout.guess")) { + opts->dwim_new_local_branch = git_config_bool(var, value); + return 0; + } if (starts_with(var, "submodule.")) return git_default_submodule_config(var, value, NULL); |