1/3 is a more complete version of a patch I posted earlier [1]. It makes sure that worktree.* config keys are stored in a different place than $GIT_DIR/config. This allows us to work around the core.worktree issue in multiple worktree setting. I think 1/3 and 2/3 are fine. 3/3 is probably not. It's more of a proof of concept. The tests pass, but there's no migration path for existing submodules. Submodules modified by new Git will confuse old Git because the old ones do not understand worktree.path (the replacement for core.worktree) But I think it's a start.. [1] http://article.gmane.org/gmane.comp.version-control.git/263134 Nguyễn Thái Ngọc Duy (3): config.c: new config namespace worktree.* stored in $GIT_DIR/config.worktree setup: add worktree.path to shadow core.worktree submodule: use worktree.path instead of core.worktree Documentation/config.txt | 7 ++++++- builtin/config.c | 8 +++++++ config.c | 38 ++++++++++++++++++++++++++++++++++ git-submodule.sh | 2 +- setup.c | 7 ++++++- submodule.c | 6 +++--- t/lib-submodule-update.sh | 8 +++---- t/t1300-repo-config.sh | 31 +++++++++++++++++++++++++++ t/t7400-submodule-basic.sh | 4 ++-- t/t7409-submodule-detached-worktree.sh | 6 +++--- 10 files changed, 102 insertions(+), 15 deletions(-) -- 2.3.0.rc1.137.g477eb31 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html