summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorLibravatar Denton Liu <liu.denton@gmail.com>2020-10-07 22:48:15 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2020-10-08 09:25:29 -0700
commit64f1f58fe7c0837bd0ae56ba83add5e1b84c54d3 (patch)
tree9ec6d813813db2e42f52855b96b0fb5abbe72a40 /builtin
parentDocumentation/config/checkout: replace sq with backticks (diff)
downloadtgif-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.c7
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);