git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git submodule update strange output behavior.

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 9, 2020, 20:03 UTC
Message-ID
<xmqq8smgz9as.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<xmqqtv54zcik.fsf@gitster-ct.c.googlers.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 35 quoted lines
> 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;
Previous: Junio C HamanoNext: Carlo Wood
Message 3 of 7 in “git submodule update strange output behavior.”
  1. Carlo WoodJan 9, 2020
  2. Junio C HamanoJan 9, 2020
  3. Junio C HamanoJan 9, 2020
  4. Carlo WoodJan 10, 2020
  5. Junio C HamanoJan 10, 2020
  6. Carlo WoodJan 11, 2020
  7. Carlo WoodJan 10, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.