Re: [PATCH 5/8] Add a config option for remotes to specify a foreign vcs
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Aug 11, 2009, 08:39 UTC
- Message-ID
- <alpine.DEB.1.00.0908111033430.4638@intel-tinevez-2-302>
- In-Reply-To
- <7vmy67orwr.fsf@alter.siamese.dyndns.org>
Hi,
On Mon, 10 Aug 2009, Junio C Hamano wrote:
Show 32 quoted lines
> Johan Herland <johan@herland.net> writes: > > > I'm somewhat agnostic on this issue. At the moment, I follow the P4 > > cues, and use a config like this: > > > > [remote "foo"] > > vcs = cvs > > cvsRoot = ":pserver:user@cvs.server.example.com/var/cvs/cvsroot" > > cvsModule = "bar" > > ... > > > > But I could just as well use a config like this instead: > > > > [remote "foo"] > > url = "cvs::pserver:user@cvs.server.example.com/var/cvs/cvsroot#bar" > > ... > > > > Either is fine with me, although I suspect users might find the > > current/first alternative easier to parse. > > Ah, ok, that is a much better (rather, easier to understand for _me_) > example to illustrate what Daniel meant, and I can well imagine P4 > counterpart of cvsRoot may resemble an URL even less than your cvsRoot > example does. > > If the foreign system uses a single string as "the string to identify > location", like the latter (which is a good example, even though I do not > think a CVS folks write a reference to a module like you wrote), then I > think it makes sense to use that form as remote.$name.url. But if naming > a location with a single simple string is an alien notion to the foreign > system, I agree with Daniel that we do not gain much by trying to shoehorn > them into a single remote.$name.url configuration.
Of course, it is always nice to be able to tell people: just clone the repository with
git clone cvs::pserver:anonymous@cool.haxx.se:/cvsroot/curl#curl
Rather than telling them: "you know, it is really trivial once you understand the inner workings of Git. Just follow this recipe for the moment, and you are all set up:
1) mkdir curl 2) cd curl 3) git init 4) git remote.origin.vcs cvs 5) git remote.origin.cvsRoot :pserver:anonymous@cool.haxx.se:/cvsroot/curl 6) git remote.origin.cvsModule curl 7) git fetch origin 8) git checkout --track origin/master
Oh, and please ignore that warning in the last step telling you that you are already on branch 'master', that is perfectly normal."
I don't know, but this sounds more and more like the complicator's glove to me (with the same reactions).
Ciao, Dscho