In preceding commits we've introduced a command-level "--super-prefix" option, which unlike the "git --super-prefix" it replaced doesn't rely on setenv() or getenv(), it's just a normal command-line option that the command passes down. Since we've done that, let's rename the "--submodule-prefix" option added in 7dce19d374a (fetch/pull: Add the --recurse-submodules option, 2010-11-12) to "--super-prefix" for consistency. This: * Allows us to use OPT__SUPER_PREFIX(). * Leaves an unspecified "--super-prefix" with a "NULL" value, rather than an empty string, as is the case with the other "--super-prefix" users. We coerce the NULL to "" in submodule.c before using it. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- Documentation/fetch-options.txt | 5 ----- builtin/fetch.c | 7 +++---- submodule.c | 23 +++++++++++------------ 3 files changed, 14 insertions(+), 21 deletions(-) diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt index 622bd84768b..20cbd2c2910 100644 --- a/Documentation/fetch-options.txt +++ b/Documentation/fetch-options.txt @@ -241,11 +241,6 @@ endif::git-pull[] linkgit:git-config[1]. ifndef::git-pull[] ---submodule-prefix=<path>:: - Prepend <path> to paths printed in informative messages - such as "Fetching submodule foo". This option is used - internally when recursing over submodules. - --recurse-submodules-default=[yes|on-demand]:: This option is used internally to temporarily provide a non-negative default value for the --recurse-submodules diff --git a/builtin/fetch.c b/builtin/fetch.c index 7378cafeec9..353bcd36d24 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -74,7 +74,7 @@ static struct string_list deepen_not = STRING_LIST_INIT_NODUP; static struct strbuf default_rla = STRBUF_INIT; static struct transport *gtransport; static struct transport *gsecondary; -static const char *submodule_prefix = ""; +static const char *super_prefix; static int recurse_submodules = RECURSE_SUBMODULES_DEFAULT; static int recurse_submodules_cli = RECURSE_SUBMODULES_DEFAULT; static int recurse_submodules_default = RECURSE_SUBMODULES_ON_DEMAND; @@ -195,8 +195,7 @@ static struct option builtin_fetch_options[] = { OPT_SET_INT_F(0, "refetch", &refetch, N_("re-fetch without negotiating common commits"), 1, PARSE_OPT_NONEG), - { OPTION_STRING, 0, "submodule-prefix", &submodule_prefix, N_("dir"), - N_("prepend this to submodule path output"), PARSE_OPT_HIDDEN }, + OPT__SUPER_PREFIX(&super_prefix), OPT_CALLBACK_F(0, "recurse-submodules-default", &recurse_submodules_default, N_("on-demand"), N_("default for recursive fetching of submodules " @@ -2300,7 +2299,7 @@ int cmd_fetch(int argc, const char **argv, const char *prefix) add_options_to_argv(&options); result = fetch_submodules(the_repository, &options, - submodule_prefix, + super_prefix, recurse_submodules, recurse_submodules_default, verbosity < 0, diff --git a/submodule.c b/submodule.c index f8497793790..3e0aaaa2af0 100644 --- a/submodule.c +++ b/submodule.c @@ -1376,7 +1376,7 @@ struct submodule_parallel_fetch { int changed_count; struct strvec args; struct repository *r; - const char *prefix; + const char *super_prefix; int command_line_option; int default_option; int quiet; @@ -1567,7 +1567,7 @@ get_fetch_task_from_index(struct submodule_parallel_fetch *spf, if (task->repo) { if (!spf->quiet) strbuf_addf(err, _("Fetching submodule %s%s\n"), - spf->prefix, ce->name); + spf->super_prefix, ce->name); spf->index_count++; return task; @@ -1629,7 +1629,7 @@ get_fetch_task_from_changed(struct submodule_parallel_fetch *spf, if (!spf->quiet) strbuf_addf(err, _("Fetching submodule %s%s at commit %s\n"), - spf->prefix, task->sub->path, + spf->super_prefix, task->sub->path, find_unique_abbrev(cs_data->super_oid, DEFAULT_ABBREV)); @@ -1687,11 +1687,10 @@ static int get_next_submodule(struct child_process *cp, struct strbuf *err, strvec_pushv(&cp->args, task->git_args.v); strvec_pushv(&cp->args, spf->args.v); strvec_push(&cp->args, task->default_argv); - strvec_push(&cp->args, "--submodule-prefix"); + strvec_push(&cp->args, "--super-prefix"); - strbuf_addf(&submodule_prefix, "%s%s/", - spf->prefix, - task->sub->path); + strbuf_addf(&submodule_prefix, "%s%s/", spf->super_prefix, + task->sub->path); strvec_push(&cp->args, submodule_prefix.buf); *task_cb = task; @@ -1707,7 +1706,7 @@ static int get_next_submodule(struct child_process *cp, struct strbuf *err, spf->oid_fetch_tasks_nr--; strbuf_addf(&submodule_prefix, "%s%s/", - spf->prefix, task->sub->path); + spf->super_prefix, task->sub->path); child_process_init(cp); prepare_submodule_repo_env_in_gitdir(&cp->env); @@ -1717,7 +1716,7 @@ static int get_next_submodule(struct child_process *cp, struct strbuf *err, strvec_init(&cp->args); strvec_pushv(&cp->args, spf->args.v); strvec_push(&cp->args, "on-demand"); - strvec_push(&cp->args, "--submodule-prefix"); + strvec_push(&cp->args, "--super-prefix"); strvec_push(&cp->args, submodule_prefix.buf); /* NEEDSWORK: have get_default_remote from submodule--helper */ @@ -1813,7 +1812,7 @@ static int fetch_finish(int retvalue, struct strbuf *err, int fetch_submodules(struct repository *r, const struct strvec *options, - const char *prefix, int command_line_option, + const char *super_prefix, int command_line_option, int default_option, int quiet, int max_parallel_jobs) { @@ -1835,7 +1834,7 @@ int fetch_submodules(struct repository *r, spf.command_line_option = command_line_option; spf.default_option = default_option; spf.quiet = quiet; - spf.prefix = prefix; + spf.super_prefix = super_prefix ? super_prefix : ""; if (!r->worktree) goto out; @@ -1847,7 +1846,7 @@ int fetch_submodules(struct repository *r, for (i = 0; i < options->nr; i++) strvec_push(&spf.args, options->v[i]); strvec_push(&spf.args, "--recurse-submodules-default"); - /* default value, "--submodule-prefix" and its value are added later */ + /* default value, "--super-prefix" and its value are added later */ calculate_changed_submodule_paths(r, &spf.changed_submodule_names); string_list_sort(&spf.changed_submodule_names); -- 2.38.0.1509.g9445af83948