Skip to content

v2 submodule recursive checkout]

Jens Lehmann git 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest9 patches 20 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9submodule: prepare for recursive checkout of submodulesDocumentation/recurse-submodules-update.txt submodule.c submodule.h+64 -04 replies
2/9Teach reset the --[no-]recurse-submodules optionDocumentation/git-reset.txt builtin/reset.c+18 -02 replies
3/9Teach checkout the --[no-]recurse-submodules optionDocumentation/git-checkout.txt builtin/checkout.c t/t2013-checkout-submodule.sh+228 -32 replies
4/9Teach merge the --[no-]recurse-submodules optionDocumentation/git-merge.txt builtin/merge.c+16 -04 replies
5/9Teach bisect--helper the --[no-]recurse-submodules optionbisect.c bisect.h builtin/bisect--helper.c +2 more+54 -130 replies
6/9Teach bisect the --[no-]recurse-submodules optionDocumentation/git-bisect.txt git-bisect.sh+29 -52 replies
7/9submodule: teach unpack_trees() to remove submodule contentssubmodule.c submodule.h unpack-trees.c +1 more+45 -32 replies
8/9submodule: teach unpack_trees() to repopulate submodulesentry.c submodule.c submodule.h +1 more+65 -30 replies
9/9submodule: teach unpack_trees() to update submodulesentry.c submodule.c submodule.h +2 more+157 -174 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

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

Am 07.01.2014 18:55, schrieb Junio C Hamano:

Quoted 12 lines
Quoted 10 lines · Jens Lehmann

Am 06.01.2014 23:36, schrieb Junio C Hamano:

Quoted 8 lines

* 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???

Quoted 7 lines
Quoted 5 lines

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
Signature · 1 line
1.9.rc0.28.ge3363ff