Re: [PATCH] Let .git/config specify the url for submodules
From: Lars Hjemli <hidden>
Date: 2016-06-15 22:43:13
On 6/1/07, Junio C Hamano [off-list ref] wrote:
Linus Torvalds [off-list ref] writes:quoted
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 nameI 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
The reason I wanted to use [path "lib"] submodule=xyzzylib url=git://xyzzy/lib-1.2.3 is that the git-submodule command always starts out with the submodule path, trying to map that to an url or a submodule name. My proposal allows $ name=$(GIT_CONFIG=.gitmodules git-config path."$path".submodule) $ url=$(GIT_CONFIG=.gitmodules git-config path."$path".url) Then Sven suggested to create a submodule section for the url, which would allow $ name=$(GIT_CONFIG=.gitmodules git-config path."$path".submodule) $ url=$(GIT_CONFIG=.gitmodules git-config submodule."$name".url) But I don't see an easy way to do the mapping from path to url/submodule with: [submodule "xyzzylib"] path=lib url=git://xyzzy/lib-1.2.3 Suggestions? -- larsh