* git submodule update strange output behavior. @ 2020-01-09 18:20 Carlo Wood 2020-01-09 18:54 ` Junio C Hamano 0 siblings, 1 reply; 7+ messages in thread From: Carlo Wood @ 2020-01-09 18:20 UTC (permalink / raw) To: git In a project containing submodules, one of the submodules contains a submodule itself, which in turn also contains a submodule. Overview: project/foobar [submodule] project/cwm4 [submodule] project/evio [submodule] project/evio/protocol/matrixssl [submodule] project/evio/protocol/matrixssl/cwm4 [submodule] ('protocol' is a normal subdirectory) Running (with or without the --quiet), $ git submodule --quiet update --init --recursive --remote Fetching submodule protocol/matrixssl Fetching submodule protocol/matrixssl/cwm4 Fetching submodule cwm4 This is odd (a bug imho) because 1) it seems to only print this fetching information for submodules inside submodules, not for the top-level submodules. 2) it even prints this when using --quiet 3) it prints this every time (also when there is nothing more to fetch). -- Carlo Wood <carlo@alinoe.com> ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: git submodule update strange output behavior. 2020-01-09 18:20 git submodule update strange output behavior Carlo Wood @ 2020-01-09 18:54 ` Junio C Hamano 2020-01-09 20:03 ` Junio C Hamano 2020-01-10 9:10 ` Carlo Wood 0 siblings, 2 replies; 7+ messages in thread From: Junio C Hamano @ 2020-01-09 18:54 UTC (permalink / raw) To: Carlo Wood; +Cc: git Carlo Wood <carlo@alinoe.com> writes: > In a project containing submodules, one of the submodules > contains a submodule itself, which in turn also contains > a submodule. > > Overview: > > project/foobar [submodule] > project/cwm4 [submodule] > project/evio [submodule] > project/evio/protocol/matrixssl [submodule] > project/evio/protocol/matrixssl/cwm4 [submodule] > > ('protocol' is a normal subdirectory) > > Running (with or without the --quiet), > > $ git submodule --quiet update --init --recursive --remote > Fetching submodule protocol/matrixssl > Fetching submodule protocol/matrixssl/cwm4 > Fetching submodule cwm4 > > This is odd (a bug imho) because > > 1) it seems to only print this fetching information for submodules inside submodules, > not for the top-level submodules. > 2) it even prints this when using --quiet > 3) it prints this every time (also when there is nothing more to fetch). Sounds like a symptom of (a) the top-level "git submodule update" knowing how to react to "--quiet" but (b) it forgets to pass down the "--quiet" when it recursively runs "git submodule update" in its submodules? ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: git submodule update strange output behavior. 2020-01-09 18:54 ` Junio C Hamano @ 2020-01-09 20:03 ` Junio C Hamano 2020-01-10 9:12 ` Carlo Wood 2020-01-10 9:10 ` Carlo Wood 1 sibling, 1 reply; 7+ messages in thread From: Junio C Hamano @ 2020-01-09 20:03 UTC (permalink / raw) To: Carlo Wood; +Cc: git Junio C Hamano <gitster@pobox.com> writes: > Carlo Wood <carlo@alinoe.com> writes: > >> In a project containing submodules, one of the submodules >> contains a submodule itself, which in turn also contains >> a submodule. >> >> Overview: >> >> project/foobar [submodule] >> project/cwm4 [submodule] >> project/evio [submodule] >> project/evio/protocol/matrixssl [submodule] >> project/evio/protocol/matrixssl/cwm4 [submodule] >> >> ('protocol' is a normal subdirectory) >> >> Running (with or without the --quiet), >> >> $ git submodule --quiet update --init --recursive --remote >> Fetching submodule protocol/matrixssl >> Fetching submodule protocol/matrixssl/cwm4 >> Fetching submodule cwm4 >> >> This is odd (a bug imho) because >> >> 1) it seems to only print this fetching information for submodules inside submodules, >> not for the top-level submodules. >> 2) it even prints this when using --quiet >> 3) it prints this every time (also when there is nothing more to fetch). > > > Sounds like a symptom of (a) the top-level "git submodule update" > knowing how to react to "--quiet" but (b) it forgets to pass down > the "--quiet" when it recursively runs "git submodule update" in its > submodules? Just a shot in the dark. Not even compile tested ;-) submodule.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/submodule.c b/submodule.c index 9da7181321..535bb6bf04 100644 --- a/submodule.c +++ b/submodule.c @@ -1454,11 +1454,12 @@ static int get_next_submodule(struct child_process *cp, argv_array_pushv(&cp->args, spf->args.argv); argv_array_push(&cp->args, default_argv); argv_array_push(&cp->args, "--submodule-prefix"); - strbuf_addf(&submodule_prefix, "%s%s/", spf->prefix, task->sub->path); argv_array_push(&cp->args, submodule_prefix.buf); + if (spf->quiet) + argv_array_push(&cp->args, "--quiet"); spf->count++; *task_cb = task; ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: git submodule update strange output behavior. 2020-01-09 20:03 ` Junio C Hamano @ 2020-01-10 9:12 ` Carlo Wood 2020-01-10 19:36 ` Junio C Hamano 0 siblings, 1 reply; 7+ messages in thread From: Carlo Wood @ 2020-01-10 9:12 UTC (permalink / raw) To: Junio C Hamano; +Cc: git It seems to me that the other part of the problem is printing this output for submodules when nothing (needed to be) is fetched. I haven't tested if output for the top-level is printed (without --quiet) when also there fetching is needed; is that even possible? On Thu, 09 Jan 2020 12:03:55 -0800 Junio C Hamano <gitster@pobox.com> wrote: > Junio C Hamano <gitster@pobox.com> writes: > > > Carlo Wood <carlo@alinoe.com> writes: > > > >> In a project containing submodules, one of the submodules > >> contains a submodule itself, which in turn also contains > >> a submodule. > >> > >> Overview: > >> > >> project/foobar [submodule] > >> project/cwm4 [submodule] > >> project/evio [submodule] > >> project/evio/protocol/matrixssl [submodule] > >> project/evio/protocol/matrixssl/cwm4 [submodule] > >> > >> ('protocol' is a normal subdirectory) > >> > >> Running (with or without the --quiet), > >> > >> $ git submodule --quiet update --init --recursive --remote > >> Fetching submodule protocol/matrixssl > >> Fetching submodule protocol/matrixssl/cwm4 > >> Fetching submodule cwm4 > >> > >> This is odd (a bug imho) because > >> > >> 1) it seems to only print this fetching information for submodules > >> inside submodules, not for the top-level submodules. > >> 2) it even prints this when using --quiet > >> 3) it prints this every time (also when there is nothing more to > >> fetch). > > > > > > Sounds like a symptom of (a) the top-level "git submodule update" > > knowing how to react to "--quiet" but (b) it forgets to pass down > > the "--quiet" when it recursively runs "git submodule update" in its > > submodules? > > Just a shot in the dark. Not even compile tested ;-) > > submodule.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/submodule.c b/submodule.c > index 9da7181321..535bb6bf04 100644 > --- a/submodule.c > +++ b/submodule.c > @@ -1454,11 +1454,12 @@ static int get_next_submodule(struct > child_process *cp, argv_array_pushv(&cp->args, spf->args.argv); > argv_array_push(&cp->args, default_argv); > argv_array_push(&cp->args, > "--submodule-prefix"); - > strbuf_addf(&submodule_prefix, "%s%s/", > spf->prefix, > task->sub->path); > argv_array_push(&cp->args, > submodule_prefix.buf); > + if (spf->quiet) > + argv_array_push(&cp->args, > "--quiet"); > spf->count++; > *task_cb = task; -- Carlo Wood <carlo@alinoe.com> ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: git submodule update strange output behavior. 2020-01-10 9:12 ` Carlo Wood @ 2020-01-10 19:36 ` Junio C Hamano 2020-01-11 11:00 ` Carlo Wood 0 siblings, 1 reply; 7+ messages in thread From: Junio C Hamano @ 2020-01-10 19:36 UTC (permalink / raw) To: Carlo Wood; +Cc: git Carlo Wood <carlo@alinoe.com> writes: > It seems to me that the other part of the problem is printing > this output for submodules when nothing (needed to be) is fetched. Hmm, I am not sure if that is a reasonable expectation. Would it be possible to tell if there is something that needs to be fetched without attempting to contact the other side? ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: git submodule update strange output behavior. 2020-01-10 19:36 ` Junio C Hamano @ 2020-01-11 11:00 ` Carlo Wood 0 siblings, 0 replies; 7+ messages in thread From: Carlo Wood @ 2020-01-11 11:00 UTC (permalink / raw) To: Junio C Hamano; +Cc: git On Fri, 10 Jan 2020 11:36:54 -0800 Junio C Hamano <gitster@pobox.com> wrote: > Carlo Wood <carlo@alinoe.com> writes: > > > It seems to me that the other part of the problem is printing > > this output for submodules when nothing (needed to be) is fetched. > > Hmm, I am not sure if that is a reasonable expectation. Would it be > possible to tell if there is something that needs to be fetched > without attempting to contact the other side? That wasn't even my point though: assume that we can't know, so we have to attempt a fetch anyway (seems indeed likely), then I'd expect to see this message for *every* submodule, and not just for submodules inside other submodule. There is an asymmetry (in the output of this command) between submodules in the top level project and submodules inside other submodules. This then makes me wonder after all, if the message is suppressed for top-level submodules then can't it also be suppressed for the others (those that are currently being printed)? -- Carlo Wood <carlo@alinoe.com> ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: git submodule update strange output behavior. 2020-01-09 18:54 ` Junio C Hamano 2020-01-09 20:03 ` Junio C Hamano @ 2020-01-10 9:10 ` Carlo Wood 1 sibling, 0 replies; 7+ messages in thread From: Carlo Wood @ 2020-01-10 9:10 UTC (permalink / raw) To: Junio C Hamano; +Cc: git That seems only part of the problem, but yes. It is only part of the problem because without --quiet I get the same output; that is - the top-level is still quiet, but the submodules aren't. That is out of balance imho. On Thu, 09 Jan 2020 10:54:27 -0800 Junio C Hamano <gitster@pobox.com> wrote: > Carlo Wood <carlo@alinoe.com> writes: > > > In a project containing submodules, one of the submodules > > contains a submodule itself, which in turn also contains > > a submodule. > > > > Overview: > > > > project/foobar [submodule] > > project/cwm4 [submodule] > > project/evio [submodule] > > project/evio/protocol/matrixssl [submodule] > > project/evio/protocol/matrixssl/cwm4 [submodule] > > > > ('protocol' is a normal subdirectory) > > > > Running (with or without the --quiet), > > > > $ git submodule --quiet update --init --recursive --remote > > Fetching submodule protocol/matrixssl > > Fetching submodule protocol/matrixssl/cwm4 > > Fetching submodule cwm4 > > > > This is odd (a bug imho) because > > > > 1) it seems to only print this fetching information for submodules > > inside submodules, not for the top-level submodules. > > 2) it even prints this when using --quiet > > 3) it prints this every time (also when there is nothing more to > > fetch). > > > Sounds like a symptom of (a) the top-level "git submodule update" > knowing how to react to "--quiet" but (b) it forgets to pass down > the "--quiet" when it recursively runs "git submodule update" in its > submodules? > -- Carlo Wood <carlo@alinoe.com> ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-01-11 11:00 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-01-09 18:20 git submodule update strange output behavior Carlo Wood 2020-01-09 18:54 ` Junio C Hamano 2020-01-09 20:03 ` Junio C Hamano 2020-01-10 9:12 ` Carlo Wood 2020-01-10 19:36 ` Junio C Hamano 2020-01-11 11:00 ` Carlo Wood 2020-01-10 9:10 ` Carlo Wood
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).