From: Jens Lehmann Date: Tue, 14 Oct 2014 17:09:45 GMT Subject: Re: [PATCH 0/4] Multiple worktrees vs. submodules fixes Message-ID: <543D58D9.5060606@web.de> In-Reply-To: Am 14.10.2014 um 14:17 schrieb Duy Nguyen: > On Sun, Oct 12, 2014 at 12:13 PM, Max Kirillov wrote: >> These are fixes of issues with submodules with use of multiple working >> trees. > > I think the patches look fine from the nd/multiple-work-trees writer's > perspective. I know too little about submodules to judge if this is > the right way and not that way.. Sorry, I was too busy to review this work until now, but here we go: If I understand multiple work trees correctly, everything except work tree local stuff is redirected into GIT_COMMON_DIR. This is a very cool feature I'd love to see on our CI server to reduce disk footprint and clone times, especially for submodules! But I can't see how that can work by just sharing the modules directory tree, as that contains work tree related files - e.g. the index - for each submodule. AFAICS sharing them between work trees will work only if the content of the modules directory is partly present in GIT_DIR - for work tree related files - and only the common stuff is taken from GIT_COMMON_DIR (Or did I just miss the magic that already does that?). And I didn't try to wrap my head around recursive submodules yet ... Until that problem is solved it looks wrong to pass GIT_COMMON_DIR into submodule recursion, I believe GIT_COMMON_DIR should be added to the local_repo_env array (and even if it is passed on later, we might have to append "/modules/" to make it point to the correct location). But maybe I'm missing something?