Subject: Re: [PATCH 0/4] Multiple worktrees vs. submodules fixes

From: Jens Lehmann <[email-masked]>
Date: Tue, 14 Oct 2014 19:09:45 +0200

Am 14.10.2014 um 14:17 schrieb Duy Nguyen:
> On Sun, Oct 12, 2014 at 12:13 PM, Max Kirillov <[email-masked]> 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/<submodule_name>" to make it point to the correct
location).

But maybe I'm missing something?