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

Re: 2.20.0 - Undocumented change in submodule update wrt # parallel jobs

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 13, 2018, 14:17 UTC
Message-ID
<xmqqva3xecjz.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<CAHef355RQt9gN-7QjuAAT8mZsNFKfCo4hOYi2+bkp-0Av7W=Qw@mail.gmail.com>
Sjon Hortensius <sjon@parse.nl> writes:
Show 10 quoted lines
> When switching to 2.20 our `git submodule update' (which clones
> through ssh) broke because our ssh-server rejected the ~20
> simultaneous connections the git-client makes. This seems to be caused
> by a (possibly unintended) change in
> https://github.com/git/git/commit/90efe595c53f4bb1851371344c35eff71f604d2b
> which removed the default of max_jobs=1
>
> While this can easily be fixed by configuring submodule.fetchJobs I
> think this change should be documented - or reverted back to it's
> previous default of 1

The commit in question does not look like it _wanted_ to change the default; rather, it appears to me that it wanted to be bug-to-bug compatible with the original, and any such change of behaviour is entirely unintended.

I think the attached may be sufficient to change the default max_jobs back to 1.

By the way, is there a place where we document that the default value for fetchjobs, when unconfigured, is 1? If we are not making such a concrete promise, then I would think it is OK to update the default without any fanfare, as long as we have good reasons to do so. For this particular one, however, as I already said, I do not think we wanted to change the default to unlimited or anything like that, so...

 builtin/submodule--helper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index 789d00d87d..e8cdf84f1c 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -1552,7 +1552,7 @@ struct submodule_update_clone {
 #define SUBMODULE_UPDATE_CLONE_INIT {0, MODULE_LIST_INIT, 0, \
 	SUBMODULE_UPDATE_STRATEGY_INIT, 0, 0, -1, STRING_LIST_INIT_DUP, 0, \
 	NULL, NULL, NULL, \
-	NULL, 0, 0, 0, NULL, 0, 0, 0}
+	NULL, 0, 0, 0, NULL, 0, 0, 1}
 
 
 static void next_submodule_warn_missing(struct submodule_update_clone *suc,
Previous: Ævar Arnfjörð BjarmasonNext: Stefan Beller
Message 3 of 7 in “2.20.0 - Undocumented change in submodule update wrt # parallel jobs”
  1. Sjon HortensiusDec 13, 2018
  2. Ævar Arnfjörð BjarmasonDec 13, 2018
  3. Junio C HamanoDec 13, 2018
  4. Stefan BellerDec 13, 2018
  5. submodule update: run at most one fetch job unless otherwise setStefan Beller, Dec 13, 2018
  6. Eric SunshineDec 13, 2018
  7. Junio C HamanoDec 14, 2018

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.