On Thu, May 24, 2007 at 08:26:01PM CEST, Junio C Hamano wrote: > How about doing something like this, instead? These discussions are spread over so many posts (and especially threads) that it's far beyond me to track it all - I hope I won't repeat something already debunked. > (1) superproject .gitmodules (in-tree) and .git/config (local > repository) use the three-level naming in $gmane/47567. > Namely, (1a) .gitmodules says which subdirectory has a > checkout of what project, and names the project in > logical/abstract terms, not with a URL (e.g. "kernel26"); > (1b) .gitmodules also associates a set of suggested URLs > for each of the logical/abstract project name; (1c) > .git/config records which project are of interest. How do you deal with clashes in subproject names? Until now, several independent projects might live happily in a single repository, this breaks that. When merging disparate projects, you can resolve name clashes in .gitmodules, but going back to one of the merged trunks just won't work. It's ugly. Now, we can just declare that we don't care about this case. This stance wouldn't make me comfortable at all, but at least we should make it clear that we know about this problem and the users are on their own when it happens. > (2) In superproject .git/, we would have a bare repository for > each project used by the superproject. > > .git/subproject/kernel26/{objects,refs,...} > > This is created by making a bare clone from the upstream > URL, decided by the user with the help from suggested URL > described in the superproject .gitmodules. > > The idea is to use this repository as a long-term > subproject state across branch switching. When not using subproject aliases, you could just name this after some normalized form of the URL (anything suitable up to an sha1sum of the URL :). -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ Ever try. Ever fail. No matter. // Try again. Fail again. Fail better. -- Samuel Beckett - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html