diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-06-20 11:01:01 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-06-20 11:01:01 -0700 |
commit | 3807098cd6abf4b94b6e0326255e5f5f0577f975 (patch) | |
tree | 34d2bb8e5c9ae4f9409c2cfdd6206ec32a5ff5d0 /submodule-config.c | |
parent | Merge branch 'sb/submodule-misc-cleanups' (diff) | |
parent | submodule update: learn `--[no-]recommend-shallow` option (diff) | |
download | tgif-3807098cd6abf4b94b6e0326255e5f5f0577f975.tar.xz |
Merge branch 'sb/submodule-recommend-shallowness'
An upstream project can make a recommendation to shallowly clone
some submodules in the .gitmodules file it ships.
* sb/submodule-recommend-shallowness:
submodule update: learn `--[no-]recommend-shallow` option
submodule-config: keep shallow recommendation around
Diffstat (limited to 'submodule-config.c')
-rw-r--r-- | submodule-config.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/submodule-config.c b/submodule-config.c index debab294d4..db1847ff68 100644 --- a/submodule-config.c +++ b/submodule-config.c @@ -199,6 +199,7 @@ static struct submodule *lookup_or_create_by_name(struct submodule_cache *cache, submodule->update_strategy.command = NULL; submodule->fetch_recurse = RECURSE_SUBMODULES_NONE; submodule->ignore = NULL; + submodule->recommend_shallow = -1; hashcpy(submodule->gitmodules_sha1, gitmodules_sha1); @@ -353,6 +354,14 @@ static int parse_config(const char *var, const char *value, void *data) else if (parse_submodule_update_strategy(value, &submodule->update_strategy) < 0) die(_("invalid value for %s"), var); + } else if (!strcmp(item.buf, "shallow")) { + if (!me->overwrite && submodule->recommend_shallow != -1) + warn_multiple_config(me->commit_sha1, submodule->name, + "shallow"); + else { + submodule->recommend_shallow = + git_config_bool(var, value); + } } strbuf_release(&name); |