From: Nguyễn Thái Ngọc Duy Date: Sat, 3 Jan 2015 09:41:27 +0000 (+0700) Subject: git-checkout.txt: a note about multiple checkout support for submodules X-Git-Tag: v2.5.0-rc0~143^2~4 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/a83a66aca25950dd2ea7367de093b21edb8ca991?ds=inline;hp=--cc git-checkout.txt: a note about multiple checkout support for submodules The goal seems to be using multiple checkouts to reduce disk space. But we have not reached an agreement how things should be. There are a couple options. - You may want to keep $SUB repos elsewhere (perhaps in a central place) outside $SUPER. This is also true for nested submodules where a superproject may be a submodule of another superproject. - You may want to keep all $SUB repos in $SUPER/modules (or some other place in $SUPER) - We could even push it further and merge all $SUB repos into $SUPER instead of storing them separately. But that would at least require ref namespace enabled. On top of that, git-submodule.sh expects $GIT_DIR/config to be per-worktree, at least for the submodule.* part. Here I think we have two options, either update config.c to also read $GIT_DIR/config.worktree (which is per worktree) in addition to $GIT_DIR/config (shared) and store worktree-specific vars in the new place, or update git-submodule.sh to read/write submodule.* directly from $GIT_DIR/config.submodule (per worktree). These take time to address properly. Meanwhile, make a note to the user that they should not use multiple worktrees in submodule context. Signed-off-by: Nguyễn Thái Ngọc Duy Signed-off-by: Junio C Hamano --- a83a66aca25950dd2ea7367de093b21edb8ca991 diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt index 52eaa484c8..72def5b689 100644 --- a/Documentation/git-checkout.txt +++ b/Documentation/git-checkout.txt @@ -463,6 +463,9 @@ to `/path/main/.git/worktrees/test-next` then a file named `test-next` entry from being pruned. See linkgit:gitrepository-layout[5] for details. +Multiple checkout support for submodules is incomplete. It is NOT +recommended to make multiple checkouts of a superproject. + EXAMPLES --------