From: Heiko Voigt Date: Wed, 02 May 2012 16:55:43 GMT Subject: Re: Location-agnostic submodules Message-ID: <20120502165543.GB49462@book.hvoigt.net> In-Reply-To: <7v4nrzaioc.fsf@alter.siamese.dyndns.org> Hi, On Tue, May 01, 2012 at 10:57:07AM -0700, Junio C Hamano wrote: > "Philip Oakley" writes: > > > Would an alternative be something like: > > git submodule update --from > > > > so that the user can state which of the current submodule's remotes > > should be used for fetching the desired update. > > Are you assuming that the in the above example will be different > per invocation for a single user? I would imagine not---it would be more > like "the upstream has this URL in .gitmodules, but this other mirror is > closer to my network environment", i.e. > > cd && git config remote.origin.url $there > > no? Yes I think this is an important point. If we start working on this I would like to emphasize the fork use case Philip brought up. When cloning a forked repository with submodules you always have the problem of changing/adding the forked submodules remotes afterwards. For me it would be more like an additional lookup mechanism of the "official" urls / names. Since I like to stay as close as possible to the upstream repository I usually refrain from changing the .gitmodules file. A changed .gitmodules file with additional urls (possibly some private ones) is not something you can propagate upstream. What I would like is a mechanism that, given a wanted sha1, would lookup the correct remote to clone/fetch from. But, I have to admit that even though thinking about this for some time now, I have not got to a satisfying answer for myself yet. Cheers Heiko