[PATCH 1/2] submodule-config: keep shallow recommendation around
The shallow field will be used in a later patch by `submodule update`. To differentiate between the actual depth (which may be different), we name it `recommend_shallow` as the field in the .gitmodules file is only a recommendation by the project. Signed-off-by: Stefan Beller--- submodule-config.c | 9 + submodule-config.h | 1 + 2 files changed, 10 insertions(+) diff --git a/submodule-config.c b/submodule-config.c index debab29..db1847f 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, >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(); diff --git a/submodule-config.h b/submodule-config.h index e4857f5..b1fdcc0 100644 --- a/submodule-config.h +++ b/submodule-config.h @@ -18,6 +18,7 @@ struct submodule { struct submodule_update_strategy update_strategy; /* the sha1 blob id of the responsible .gitmodules file */ unsigned char gitmodules_sha1[20]; + int recommend_shallow; }; int parse_fetch_recurse_submodules_arg(const char *opt, const char *arg); -- 2.9.0.rc0.2.g145fc64 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/2] submodule-config: keep shallow recommendation around
On Thu, May 26, 2016 at 2:02 AM, Remi Galan Alfonsowrote: > Hi Stefan, > > Stefan Beller writes: >> [...] >> @ -353,6 +354,15 @@ static int parse_config(const char *var, const char >> *value, void *data) >> else if (parse_submodule_update_strategy(value, >> >update_strategy) < 0) >> die(_("invalid value for %s"), var); >> +} else if (!strcmp(item.buf, "shallow")) { >> +if (!me->overwrite && >> + submodule->recommend_shallow != -1) > > Nit: You seems to be able to keep the whole condition on the same line: > > if (!me->overwrite && submodule->recommend_shallow != -1) > > If you want to keep it in two line, you might want to align it: > if (!me->overwrite && > submodule->recommend_shallow != -1) Thanks will fix! > > Thanks, > Rémi -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/2] submodule-config: keep shallow recommendation around
Hi Stefan, Stefan Bellerwrites: > [...] > @ -353,6 +354,15 @@ static int parse_config(const char *var, const char > *value, void *data) > else if (parse_submodule_update_strategy(value, > >update_strategy) < 0) > die(_("invalid value for %s"), var); > +} else if (!strcmp(item.buf, "shallow")) { > +if (!me->overwrite && > + submodule->recommend_shallow != -1) Nit: You seems to be able to keep the whole condition on the same line: if (!me->overwrite && submodule->recommend_shallow != -1) If you want to keep it in two line, you might want to align it: if (!me->overwrite && submodule->recommend_shallow != -1) Thanks, Rémi -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 1/2] submodule-config: keep shallow recommendation around
The shallow field will be used in a later patch by `submodule update`. To differentiate between the actual depth (which may be different), we name it `recommend_shallow` as the field in the .gitmodules file is only a recommendation by the project. Signed-off-by: Stefan Beller--- submodule-config.c | 10 ++ submodule-config.h | 1 + 2 files changed, 11 insertions(+) diff --git a/submodule-config.c b/submodule-config.c index debab29..e11b35d 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,15 @@ static int parse_config(const char *var, const char *value, void *data) else if (parse_submodule_update_strategy(value, >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(); diff --git a/submodule-config.h b/submodule-config.h index e4857f5..b1fdcc0 100644 --- a/submodule-config.h +++ b/submodule-config.h @@ -18,6 +18,7 @@ struct submodule { struct submodule_update_strategy update_strategy; /* the sha1 blob id of the responsible .gitmodules file */ unsigned char gitmodules_sha1[20]; + int recommend_shallow; }; int parse_fetch_recurse_submodules_arg(const char *opt, const char *arg); -- 2.9.0.rc0.2.g145fc64 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html