mbox series

[RFC/PATCH,00/10] Support using submodules with worktrees

Message ID 20190116103159.9305-1-pclouds@gmail.com (mailing list archive)
Headers show
Series Support using submodules with worktrees | expand


Duy Nguyen Jan. 16, 2019, 10:31 a.m. UTC
Since this topic has come up twice recently, I'll take this opportunity
to gather early comments on this series. It depends nd/config-move-to and
at least has one known problem reported Tomasz. But I'll fix that
later once nd/config-move-to lands.

For more details, head for 01/10. This basically makes it possible
to create secondary worktrees in either supermodules or submodules. The
user will be required to turn on extensions.worktreeConfig and this is
something I'll need to work on, to make the transition smoother.

Note that while it works, it's not really optimal because worktree
clones of the same submodule could be duplicated. But hopefully I could
tackle this one step at a time. Make it work first, shake out bugs, then
think about sharing repos.

Nguyễn Thái Ngọc Duy (10):
  doc: about submodule support with multiple worktrees
  submodule--helper: add missing \n
  submodule add: support multiple worktrees
  submodule init: support multiple worktrees
  submodule update: add tests for multiple worktrees
  submodule sync: support multiple worktrees
  submodule deinit: support multiple worktrees
  submodule clone: use repo_config_set()
  submodule clone: propagate extensions.worktreeConfig
  submodule ensure-core-worktree: write to config.worktree

 Documentation/git-worktree.txt  |   8 ++
 Documentation/gitsubmodules.txt |  17 +++++
 builtin/submodule--helper.c     |  86 ++++++++++++----------
 config.c                        |  10 +++
 config.h                        |   1 +
 git-submodule.sh                |   8 +-
 repository.c                    |  21 ++++--
 repository.h                    |   4 +
 t/t2405-worktree-submodules.sh  | 125 ++++++++++++++++++++++++++++++++
 9 files changed, 228 insertions(+), 52 deletions(-)
 create mode 100755 t/t2405-worktree-submodules.sh