Re: [RFC] [PATCH] remote: add new --fetch option for set-url
- From
Jeff King <peff@peff.net>
- Date
- Nov 19, 2014, 19:08 UTC
- Message-ID
- <20141119190800.GB9908@peff.net>
- In-Reply-To
- <6997784.RuzRO1AFsK@al>
On Wed, Nov 19, 2014 at 04:18:02PM +0100, Peter Wu wrote:
> git remote set-url knew about the '--push' option to update just the > pushurl, but it does not have a similar option for "update fetch URL and > leave whatever was in place for the push URL".
Isn't that what:
git remote set-url foo new-fetch-url
does already? It affects only the "url" setting, which is the de-facto fetch setting (it is _also_ the push setting if there is no pushurl defined).
You gave this example:
Show 5 quoted lines
> git remote add gh git@github.com:Lekensteyn/git.git > # Avoid needing SSH for pulling from a repo, so change fetch URL > git remote set-url https://github.com/Lekensteyn/git.git > # Hmm, the fetch URL got changed too, let's fix that. > git remote add --push gh git@github.com:Lekensteyn/git.git
But here you do not have a pushurl defined in the first place. So I guess this is really just a shortcut for swapping the two, like:
git remote set-url --push gh $(git config remote.gh.url) git remote set-url gh new-fetch-url
I dunno. I guess that is more convenient, but it seems like a lot of code for a very marginal use case. But more importantly, I'm a little worried that the presence of --fetch creates confusion about what set-url without a --fetch or --push does. That is, it implies to me that:
git remote add gh old-url git remote set-url gh --push push-url git remote set-url gh new-url
would replace both the "url" _and_ "pushurl" values in the third step, since we did not specify --fetch. But it is in fact identical whether you run it with "--fetch" or not. That is, it creates a weirdly non-orthogonal interface.
-Peff