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

Re: BUG in fetching non-checked out submodule

From
Philippe Blain <levraiphilippeblain@gmail.com>
Date
Dec 2, 2020, 17:19 UTC
Message-ID
<CC0FA973-E37A-4BD3-B5A2-1436DD8DF16F@gmail.com>
In-Reply-To
<CAN0XMOLiS_8JZKF_wW70BvRRxkDHyUoa=Z3ODtB_Bd6f5Y=7JQ@mail.gmail.com>
Hi Ralf,
Show 11 quoted lines
> Le 2 déc. 2020 à 10:56, Ralf Thielow <ralf.thielow@gmail.com> a écrit :
> 
> Hi,
> 
> I have the current 'master' branch of git installed and get
> the following error when fetching a submodule that is not
> checked out.
> 
> I've bisected this error down to commit
> 1b7ac4e6d4 (submodules: fix of regression on fetching of
> non-init subsub-repo, 2020-11-12)

Thanks for bisecting it. That commit wanted to fix a different bug related to nested submodules, and the route taken was simply reverting an earlier commit (a62387b (submodule.c: fetch in submodules git directory instead of in worktree, 2018-11-28).

As you discovered, it breaks other scenarios.
Show 6 quoted lines
> 
> $ git version
> git version 2.29.2.435.g72ffeb997e
> 
> $ git config --get submodule.recurse
> true

Yeah, I think the test suite could make more efforts to run more tests with that setting turned 'on', but it would require significants efforts since it changes the behaviour of several commands.

Meta question: is there an easy way to run the whole test suite with specific config options turned on ?

Show 16 quoted lines
> 
> $ git submodule status
> -855827c583bc30645ba427885caa40c5b81764d2 sha1collisiondetection
> 
> $ git fetch
> Fetching submodule sha1collisiondetection
> Fetching submodule sha1collisiondetection/sha1collisiondetection
> Fetching submodule
> sha1collisiondetection/sha1collisiondetection/sha1collisiondetection
> Fetching submodule
> sha1collisiondetection/sha1collisiondetection/sha1collisiondetection/sha1collisiondetection
> ...
> 
> $ git submodule update --checkout
> Submodule path 'sha1collisiondetection': checked out
> '855827c583bc30645ba427885caa40c5b81764d2'

Ok, you don't add '--init' but the submodule gets checked out, so it looks like you have 'submodule.active' set to a pathspec that matches 'sha1collisiondetection'. Did you clone the git repo with '--recurse-submodules', which would add '.' as the value of 'submodule.active' ? Or maybe you manually configured that value in your global gitconfig ?

Thanks for the report,
Philippe.
Previous: Ralf ThielowNext: Junio C Hamano
Message 2 of 36 in “BUG in fetching non-checked out submodule”
  1. Ralf ThielowDec 2, 2020
  2. Philippe BlainDec 2, 2020
  3. Junio C HamanoDec 2, 2020
  4. Peter KästleDec 3, 2020
  5. Philippe BlainDec 3, 2020
  6. Peter KästleDec 3, 2020
  7. Junio C HamanoDec 3, 2020
  8. submodules: fix of regression on fetching of non-init subsub-repoPeter Kaestle, Dec 4, 2020
  9. Eric SunshineDec 4, 2020
  10. Peter KästleDec 7, 2020
  11. Eric SunshineDec 7, 2020
  12. submodules: fix of regression on fetching of non-init subsub-repoPeter Kaestle, Dec 7, 2020
  13. Philippe BlainDec 7, 2020
  14. Junio C HamanoDec 7, 2020
  15. Peter KästleDec 8, 2020
  16. Junio C HamanoDec 7, 2020
  17. Peter KästleDec 8, 2020
  18. Junio C HamanoDec 7, 2020
  19. Philippe BlainDec 7, 2020
  20. Junio C HamanoDec 7, 2020
  21. Junio C HamanoDec 7, 2020
  22. Peter KästleDec 8, 2020
  23. submodules: fix of regression on fetching of non-init subsub-repoPeter Kaestle, Dec 8, 2020
  24. Peter KästleDec 8, 2020
  25. Junio C HamanoDec 8, 2020
  26. Philippe BlainDec 8, 2020
  27. Peter KästleDec 9, 2020
  28. submodules: fix of regression on fetching of non-init subsub-repoPeter Kaestle, Dec 9, 2020
  29. Philippe BlainDec 9, 2020
  30. Ralf ThielowDec 3, 2020
  31. Peter KästleDec 3, 2020
  32. Ralf ThielowDec 3, 2020
  33. Peter KästleDec 3, 2020
  34. Ralf ThielowDec 3, 2020
  35. Peter KästleDec 3, 2020
  36. Ralf ThielowDec 3, 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.