From: Jon Loeliger Date: Thu, 21 Feb 2008 16:31:09 GMT Subject: Re: [PATCH 2/2] Add support for url aliases in config files Message-ID: <47BDA74D.8080608@freescale.com> In-Reply-To: Linus Torvalds wrote: > > The only really sane use of this is the one that Daniel started out with: > you may have a "external" representation of a name, but for your own > purely local configuration reasons, you may want to map that name into > another one that works for you. > [ snip ] > So it's generally *not* that it's an "alias" for another site, since it > isn't that in general - it may just be a very local configuration thing. > It's also not really that you would call it one thing and others would > call it another thing: you want to call it the *same* thing as others call > it, but you want to work around some specific site issue (or just use a > cache that is closer without having to think about it). I totally agree with all that. > [access "git://git.kernel.org/*"] > proxy = proxy-program > url = "ssh://master.kernel.org/*" > > which admittedly looks rather strange too, but at the same time it does > make sense from a "what do we really want to do?" standpoint. > > Of course, in this case Daniel didn't actually do that "proxy" part, but I > think the argument that we should try to make the config file syntax > describe what the user wants to do is still very true. So skip that > "proxy" part (maybe somebody wants to do that too some day), and leave the > > [access "original"] > url = "rewritten" > > kind of syntax. > > (And no, I'm not at all married to the "access" and "url" parts - I don't > care. I'm just saying that syntax should be tied to what people want to > do, not anything else. Right. And I think part of the issue is, which of the two forms will be present in the user's git requests? He'd _like_ to use the same, canonical name everyone else does, but for whatever reason, it has to be rewritten for the actual transportation implementation to work. Sort of like virtual/physical address definitions here? [virtual_url "git://git.kernel.org/"] physical_url = "ssh://master.kernel.org/" But maybe it needs to be: physical_url ["ssh://master.kernel.org/"] virtual_url = "git://git.kernel.org/" virtual_url = "git://kernel.org/" The git user would use the virtual_url, but it would be translated to the physical_url for the underlying implementation to work. I think it is more than paint coloring at work here. The important part is to convey the concepts properly with the names. The reader of the config file has to be able to tell which way the mapping is run. jdl