Re: [PATCH] Let .git/config specify the url for submodules
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:13
Linus Torvalds [off-list ref] writes:
On Fri, 1 Jun 2007, Lars Hjemli wrote: ... Ack. I think the natural thing for a lot of cases is the trivial "module name == path" case, so having to have [path "kernel"] module = kernel for that case just sounds unnecessary. That said, I wonder if it wouldn't be more natural to do things the other way around, because quite often a "module" (under CVS conventions) is a *set* of directories, so with that in mind, it might be better to have the mapping be something like this: [module "infrastructure"] submodule = lib submodule = build [submodule "lib"] url = git://xyzzy/lib-1.2.3 [submodule "build"] url = git://xyzzy/build-0.61 and make the rule be: - submodules are named by their paths (ie "path == submodule") - a module is a set of such submodules/paths - if no "module" is defined, the default is to just use the path/submodule name
I take that if you do want to name a submodule differently from
its (currently in-tree) path, you would do something like...
[submodule "xyzzylib"]
path = lib
url = git://xyzzy/lib-1.2.3
IOW, in the above case, we have *three* modules: - module "infrastructure", that is the union of submodules/paths "lib" and "build" - module "lib" (== submodule/path "lib") - module "build" (== submodule/path "build") and when you do a git submodule checkout infrastructure it would be basically equivalent to git submodule checkout lib git submodule checkout build
Sounds very sensible.