summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-09-19 01:47:55 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-09-19 01:47:55 (GMT)
commitdf80c5760c947f2013df86f52d0a5103d07958a2 (patch)
tree9cde7e61d93b700e2f6cc000f59321c597675778 /builtin
parentdaafb5062ca7f0e02754ddaa5a5334b07fe9bba1 (diff)
parent121e43fa53ca6d874aa3e5a7664c9b769f2cbfa6 (diff)
downloadgit-df80c5760c947f2013df86f52d0a5103d07958a2.zip
git-df80c5760c947f2013df86f52d0a5103d07958a2.tar.gz
git-df80c5760c947f2013df86f52d0a5103d07958a2.tar.bz2
Merge branch 'nm/pull-submodule-recurse-config'
"git -c submodule.recurse=yes pull" did not work as if the "--recurse-submodules" option was given from the command line. This has been corrected. * nm/pull-submodule-recurse-config: pull: honor submodule.recurse config option pull: fix cli and config option parsing order
Diffstat (limited to 'builtin')
-rw-r--r--builtin/pull.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/builtin/pull.c b/builtin/pull.c
index 7fe2814..6f772e8 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);
}
@@ -815,6 +819,8 @@ int cmd_pull(int argc, const char **argv, const char *prefix)
if (!getenv("GIT_REFLOG_ACTION"))
set_reflog_message(argc, argv);
+ git_config(git_pull_config, NULL);
+
argc = parse_options(argc, argv, prefix, pull_options, pull_usage, 0);
parse_repo_refspecs(argc, argv, &repo, &refspecs);
@@ -825,8 +831,6 @@ int cmd_pull(int argc, const char **argv, const char *prefix)
if (opt_rebase < 0)
opt_rebase = config_get_rebase();
- git_config(git_pull_config, NULL);
-
if (read_cache_unmerged())
die_resolve_conflict("pull");