From: Max Kirillov Date: Mon, 01 Dec 2014 14:47:31 GMT Subject: Re: [PATCH/RFC v2] Squashed changes for multiple worktrees vs. submodules Message-ID: <20141201144731.GA9128@wheezy.local> In-Reply-To: On Mon, Dec 01, 2014 at 05:43:16PM +0700, Duy Nguyen wrote: > On Mon, Dec 1, 2014 at 6:27 AM, Max Kirillov 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.