diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2021-03-03 15:16:24 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2021-03-03 15:16:24 +0900 |
commit | b005d550f87fdb56406120a35fa218d869cdde3a (patch) | |
tree | 9ac36dfc0e63c218b037a33b0c4060c2658ee868 /submodule-config.c | |
parent | 19ea3f4652253344938d2045dc0e9533c89495fe (diff) | |
download | git-b005d550f87fdb56406120a35fa218d869cdde3a.tar.gz git-b005d550f87fdb56406120a35fa218d869cdde3a.tar.bz2 git-b005d550f87fdb56406120a35fa218d869cdde3a.zip |
Imported Upstream version 2.15.4upstream/2.15.4
Diffstat (limited to 'submodule-config.c')
-rw-r--r-- | submodule-config.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/submodule-config.c b/submodule-config.c index 3414fa1c..464908df 100644 --- a/submodule-config.c +++ b/submodule-config.c @@ -396,6 +396,13 @@ struct parse_config_parameter { int overwrite; }; +/* + * Parse a config item from .gitmodules. + * + * This does not handle submodule-related configuration from the main + * config store (.git/config, etc). Callers are responsible for + * checking for overrides in the main config store when appropriate. + */ static int parse_config(const char *var, const char *value, void *data) { struct parse_config_parameter *me = data; @@ -473,8 +480,9 @@ static int parse_config(const char *var, const char *value, void *data) warn_multiple_config(me->treeish_name, submodule->name, "update"); else if (parse_submodule_update_strategy(value, - &submodule->update_strategy) < 0) - die(_("invalid value for %s"), var); + &submodule->update_strategy) < 0 || + submodule->update_strategy.type == SM_UPDATE_COMMAND) + die(_("invalid value for %s"), var); } else if (!strcmp(item.buf, "shallow")) { if (!me->overwrite && submodule->recommend_shallow != -1) warn_multiple_config(me->treeish_name, submodule->name, |