diff options
author | Nicolas Morey-Chaisemartin <nicolas@morey-chaisemartin.com> | 2017-09-06 08:48:09 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-09-07 09:52:18 +0900 |
commit | 121e43fa53ca6d874aa3e5a7664c9b769f2cbfa6 (patch) | |
tree | 7d58368b0500ddbfcf80d5e188c33e2eee126ebe /builtin/pull.c | |
parent | cad0c6928eae87dc8619b035e4eced5f2c662a12 (diff) | |
download | git-nm/pull-submodule-recurse-config.tar.gz |
pull: honor submodule.recurse config optionnm/pull-submodule-recurse-config
"git pull" supports a --recurse-submodules option but does not parse the
submodule.recurse configuration item to set the default for that option.
Meanwhile "git fetch" does support submodule.recurse, producing
confusing behavior: when submodule.recurse is enabled, "git pull"
recursively fetches submodules but does not update them after fetch.
Handle submodule.recurse in "git pull" to fix this.
Reported-by: Magnus Homann <magnus@homann.se>
Signed-off-by: Nicolas Morey-Chaisemartin <nicolas@morey-chaisemartin.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/pull.c')
-rw-r--r-- | builtin/pull.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/builtin/pull.c b/builtin/pull.c index 9ef1ab5015..6f772e8a22 100644 --- a/builtin/pull.c +++ b/builtin/pull.c @@ -325,6 +325,10 @@ static int git_pull_config(const char *var, const char *value, void *cb) if (!strcmp(var, "rebase.autostash")) { config_autostash = git_config_bool(var, value); return 0; + } else if (!strcmp(var, "submodule.recurse")) { + recurse_submodules = git_config_bool(var, value) ? + RECURSE_SUBMODULES_ON : RECURSE_SUBMODULES_OFF; + return 0; } return git_default_config(var, value, cb); } |