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

[WIP/PATCH 0/9] v2 submodule recursive checkout]

From
Jens Lehmann <jens.lehmann@web.de>
Date
Feb 3, 2014, 19:47 UTC
Message-ID
<52EFF25E.6080306@web.de>
In-Reply-To
<xmqqvbxvekwv.fsf@gitster.dls.corp.google.com>
Am 07.01.2014 18:55, schrieb Junio C Hamano:
Show 19 quoted lines
> Jens Lehmann <Jens.Lehmann@web.de> writes:
> 
>> Am 06.01.2014 23:36, schrieb Junio C Hamano:
>>> * jl/submodule-recursive-checkout (2013-12-26) 5 commits
>>>  - Teach checkout to recursively checkout submodules
>>>  - submodule: teach unpack_trees() to update submodules
>>>  - submodule: teach unpack_trees() to repopulate submodules
>>>  - submodule: teach unpack_trees() to remove submodule contents
>>>  - submodule: prepare for recursive checkout of submodules
>>>
>>>  What is the doneness of this one???
>>
>> It's still work in progress. Currently I'm working on a test
>> framework so we can reuse recursive submodule checkout tests
>> instead of rewriting them for every command that learns the
>> --recurse-submodule option. Will reroll this series as soon
>> as I have something presentable.
> 
> Thanks.

Ok, time for another round. This is still WIP/RFC and not ready to be merged yet, but I believe this round makes it a bit more clear where this is heading.

Changes to the first version are:
- Reordered the commits according to Jonathan's proposal
  (this currently makes the checkout tests fail until the
  last commit completes the functionality; this will be
  fixed when the test framework is added)
- Fixed calling parse_fetch_recurse_submodules_arg() where
  parse_update_recurse_submodules_arg() must be used.
- Moved the documentation of the --[no-]recurse-submodule
  option into an include file so different commands can
  reuse it.
- Added the --[no-]recurse-submodule option to bisect, merge
  and reset too.

Tests, documentation and commit messages are not complete yet, I'll work on them in the next rounds. The wiki page in my Github repository will describe the current status of this series:

  https://github.com/jlehmann/git-submod-enhancements/wiki/Recursive-submodule-checkout
Jens Lehmann (9):
  submodule: prepare for recursive checkout of submodules
  Teach reset the --[no-]recurse-submodules option
  Teach checkout the --[no-]recurse-submodules option
  Teach merge the --[no-]recurse-submodules option
  Teach bisect--helper the --[no-]recurse-submodules option
  Teach bisect the --[no-]recurse-submodules option
  submodule: teach unpack_trees() to remove submodule contents
  submodule: teach unpack_trees() to repopulate submodules
  submodule: teach unpack_trees() to update submodules
 Documentation/git-bisect.txt                |   5 +
 Documentation/git-checkout.txt              |   2 +
 Documentation/git-merge.txt                 |   2 +
 Documentation/git-reset.txt                 |   4 +
 Documentation/recurse-submodules-update.txt |   8 +
 bisect.c                                    |  33 ++--
 bisect.h                                    |   3 +-
 builtin/bisect--helper.c                    |   9 +-
 builtin/checkout.c                          |  14 ++
 builtin/merge.c                             |  14 ++
 builtin/reset.c                             |  14 ++
 entry.c                                     |  19 ++-
 git-bisect.sh                               |  29 +++-
 submodule.c                                 | 238 +++++++++++++++++++++++++++-
 submodule.h                                 |  12 ++
 t/t2013-checkout-submodule.sh               | 215 ++++++++++++++++++++++++-
 unpack-trees.c                              |  95 +++++++++--
 unpack-trees.h                              |   1 +
 wrapper.c                                   |   3 +
 19 files changed, 676 insertions(+), 44 deletions(-)
 create mode 100644 Documentation/recurse-submodules-update.txt
-- 
1.9.rc0.28.ge3363ff
Previous: Jens LehmannNext: Jens Lehmann
Message 6 of 35 in “What's cooking in git.git (Jan 2014, #01; Mon, 6)”
  1. Junio C HamanoJan 6, 2014
  2. Francesco PrettoJan 6, 2014
  3. Junio C HamanoJan 6, 2014
  4. Francesco PrettoJan 6, 2014
  5. Jens LehmannJan 7, 2014
  6. 0/9 v2 submodule recursive checkout]Jens Lehmann, Feb 3, 2014
  7. 1/9 submodule: prepare for recursive checkout of submodulesJens Lehmann, Feb 3, 2014
  8. Junio C HamanoFeb 3, 2014
  9. Jens LehmannFeb 7, 2014
  10. Jonathan NiederFeb 4, 2014
  11. Jens LehmannFeb 7, 2014
  12. 2/9 Teach reset the --[no-]recurse-submodules optionJens Lehmann, Feb 3, 2014
  13. Junio C HamanoFeb 3, 2014
  14. Jens LehmannFeb 7, 2014
  15. 3/9 Teach checkout the --[no-]recurse-submodules optionJens Lehmann, Feb 3, 2014
  16. Junio C HamanoFeb 3, 2014
  17. Jens LehmannFeb 7, 2014
  18. 4/9 Teach merge the --[no-]recurse-submodules optionJens Lehmann, Feb 3, 2014
  19. Junio C HamanoFeb 3, 2014
  20. Jens LehmannFeb 7, 2014
  21. Junio C HamanoFeb 7, 2014
  22. W. Trevor KingFeb 7, 2014
  23. 5/9 Teach bisect--helper the --[no-]recurse-submodules optionJens Lehmann, Feb 3, 2014
  24. 6/9 Teach bisect the --[no-]recurse-submodules optionJens Lehmann, Feb 3, 2014
  25. W. Trevor KingFeb 3, 2014
  26. Jens LehmannFeb 3, 2014
  27. 7/9 submodule: teach unpack_trees() to remove submodule contentsJens Lehmann, Feb 3, 2014
  28. W. Trevor KingFeb 3, 2014
  29. Jens LehmannFeb 7, 2014
  30. 8/9 submodule: teach unpack_trees() to repopulate submodulesJens Lehmann, Feb 3, 2014
  31. 9/9 submodule: teach unpack_trees() to update submodulesJens Lehmann, Feb 3, 2014
  32. W. Trevor KingFeb 3, 2014
  33. Jens LehmannFeb 7, 2014
  34. Duy NguyenFeb 4, 2014
  35. Jens LehmannFeb 7, 2014

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.