mbox series

[0/4] implement branch --recurse-submodules

Message ID 20211122223252.19922-1-chooglen@google.com (mailing list archive)
Headers show
Series implement branch --recurse-submodules | expand

Message

Glen Choo Nov. 22, 2021, 10:32 p.m. UTC
Submodule branching RFC:
https://lore.kernel.org/git/kl6lv912uvjv.fsf@chooglen-macbookpro.roam.corp.google.com/

Original Submodule UX RFC/Discussion:
https://lore.kernel.org/git/YHofmWcIAidkvJiD@google.com/

Contributor Summit submodules Notes:
https://lore.kernel.org/git/nycvar.QRO.7.76.6.2110211148060.56@tvgsbejvaqbjf.bet/

Submodule UX overhaul updates:
https://lore.kernel.org/git/?q=Submodule+UX+overhaul+update

This series implements branch --recurse-submodules as laid out in the
Submodule branching RFC (linked above). If there are concerns about the
UX/behavior, I would appreciate feedback on the RFC thread as well :)

This series uses child processes to support submodules. I initially
hoped to do this in-core and [1] and [2] were meant to prepare for that.
But even though in-core is tantalizingly close, [1] showed that there
is more work to be done on config.c before this is possible, and I would
like to get more feedback on the UX before converting this to in-core.

[1] https://lore.kernel.org/git/20211111171643.13805-1-chooglen@google.com/
[2] https://lore.kernel.org/git/20211118005325.64971-1-chooglen@google.com/

Glen Choo (4):
  submodule-config: add submodules_of_tree() helper
  branch: refactor out branch validation from create_branch()
  branch: add --dry-run option to branch
  branch: add --recurse-submodules option for branch creation

 Documentation/config/advice.txt    |   3 +
 Documentation/config/submodule.txt |   9 +
 Documentation/git-branch.txt       |   8 +-
 advice.c                           |   1 +
 advice.h                           |   1 +
 branch.c                           | 300 +++++++++++++++++++++--------
 branch.h                           |  41 +++-
 builtin/branch.c                   |  77 ++++++--
 builtin/submodule--helper.c        |  33 ++++
 submodule-config.c                 |  19 ++
 submodule-config.h                 |  13 ++
 t/t3200-branch.sh                  |  30 +++
 t/t3207-branch-submodule.sh        | 249 ++++++++++++++++++++++++
 13 files changed, 678 insertions(+), 106 deletions(-)
 create mode 100755 t/t3207-branch-submodule.sh