Subject: Re: [PATCH/RFC v2] Squashed changes for multiple worktrees vs. submodules

From: Max Kirillov <[email-masked]>
Date: Mon, 1 Dec 2014 16:47:31 +0200

On Mon, Dec 01, 2014 at 05:43:16PM +0700, Duy Nguyen wrote:
> On Mon, Dec 1, 2014 at 6:27 AM, Max Kirillov <[email-masked]> wrote:
>> But, while hacking the submodule init I became more
>> convinced that the modules directory should be common and
>> submodules in checkout should be a checkouts of the
>> submodule. Because this is looks like concept of
>> submodules, that they are unique for the lifetime of
>> repository, even if they do not exist in all revisions.
>> And if anybody want to use fully independent checkout
>> they can be always checked out manually. Actually, after
>> a submodule is initialized and have a proper gitlink, it
>> can be updated and inquired regardless of where it points
>> to.
> 
> Just throw something in for discussion. What about keeping
> $GIT_DIR/modules like it is now (i.e. not shared) and add
> $GIT_DIR/shared-modules, which is the same for all
> checkouts? That would keep current submodule code happy
> (no name collision or anything). New submodule code can
> start using $GIT_DIR/shared-modules while still keeping an
> eye on $GIT_DIR/modules for old setups.

I think it would be too complicated. To make fancy think
user can always manually initialize a repository or a
checkout. And all sumbodule functionality except
adding/removing/(de)initialization should work with any
repository or gitlink, regardless of where it points to.