The depth field will be used in a later patch by `submodule update`. To differentiate between the actual depth (which may be different), we name it recommended depth as the field in the .gitmodules file is only a recommendation by the project. Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> --- submodule-config.c | 16 ++++++++++++++++ submodule-config.h | 1 + 2 files changed, 17 insertions(+) diff --git a/submodule-config.c b/submodule-config.c index debab29..e65a171 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->recommended_depth = -1; hashcpy(submodule->gitmodules_sha1, gitmodules_sha1); @@ -353,6 +354,21 @@ 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, "depth")) { + if (!value) + ret = config_error_nonbool(var); + else if (!me->overwrite && + submodule->recommended_depth != -1) + warn_multiple_config(me->commit_sha1, submodule->name, + "depth"); + else { + int d = strtol(value, NULL, 0); + if (d < 0) + warning("Invalid parameter '%s' for config option " + "'submodule.%s.depth'", value, var); + else + submodule->recommended_depth = d; + } } strbuf_release(&name); diff --git a/submodule-config.h b/submodule-config.h index e4857f5..5635b6c 100644 --- a/submodule-config.h +++ b/submodule-config.h @@ -15,6 +15,7 @@ struct submodule { const char *url; int fetch_recurse; const char *ignore; + int recommended_depth; struct submodule_update_strategy update_strategy; /* the sha1 blob id of the responsible .gitmodules file */ unsigned char gitmodules_sha1[20]; -- 2.9.0.rc0.3.g892bdd0.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html