Re: [PATCH] Let .git/config specify the url for submodules
- From
Junio C Hamano <junkio@cox.net>
- Date
- Jun 1, 2007, 19:55 UTC
- Message-ID
- <7vfy5bzby1.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <alpine.LFD.0.98.0706010919360.3957@woody.linux-foundation.org>
Linus Torvalds <torvalds@linux-foundation.org> writes:
Show 30 quoted lines
> 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.3Show 15 quoted lines
> 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.