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

Re: [ISSUE] `git submodule update --init --recursive` does ignore `fetchRecurseSubmodules` flag in `.gitmodules` and in `.git/config`

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Jun 10, 2024, 22:02 UTC
Message-ID
<Zmd36kkRM543zlQs@tapette.crustytoothpaste.net>
In-Reply-To
<153002248.20240610041910@inbox.ru>
On 2024-06-10 at 01:19:10, Andry wrote:
Show 16 quoted lines
> Hello Git,
> 
> First discovered here: https://github.com/gitextensions/gitextensions/issues/11783
> Another discussion: https://stackoverflow.com/questions/58403616/does-git-submodule-update-recursive-override-fetchrecursesubmodules
> Manual: https://git-scm.com/docs/gitmodules#Documentation/gitmodules.txt-submoduleltnamegtfetchRecurseSubmodules
> ---
> 
> If use a recursive submodule, for example:
> 
> A->B->A->...
> 
> And call submodules Update on A, then the Update does ignore the flag and keeps fetch recursively with the error at the end:
> 
> >  fatal: Failed to recurse into submodule path ...
> 
> Is that supposed to work this way or is an bug?

Yes, it's working as designed. From the documentation, `fetchRecurseSubmodules` only applies to `git fetch` and `git pull`, not `git submodule`. Even if it did, you still specified recursive behaviour in a command-line option, and command-line operations override the configuration.

If you don't want recursion, you'll need to skip the `--recursive` flag.
-- 
brian m. carlson (they/them or he/him)
Toronto, Ontario, CA
Previous: Andry
Message 2 of 2 in “[ISSUE] `git submodule update --init --recursive` does ignore `fetchRecurseSubmodules` flag in `.gitmodules` and in `.git/config`”
  1. AndryJun 10, 2024
  2. brian m. carlsonJun 10, 2024

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.