From: Peter Wu <peter@lekensteyn.nl>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jeff King <peff@peff.net>, git@vger.kernel.org
Subject: Re: [RFC] [PATCH] remote: add new --fetch option for set-url
Date: Mon, 24 Nov 2014 23:16:03 +0100 [thread overview]
Message-ID: <27811375.1kgEM3BV3q@al> (raw)
In-Reply-To: <xmqqtx1ouug8.fsf@gitster.dls.corp.google.com>
On Monday 24 November 2014 14:04:07 Junio C Hamano wrote:
> Peter Wu <peter@lekensteyn.nl> writes:
>
> > I propose to add the option --fetch next to --push with the meaning "set
> > the fetch/push URL of remote NAME to URL". Then --fetch --push means
> > "set the fetch and push URL of remote NAME to URL".
>
> What would (and "should") the configuration look like after you did
> this?
>
> git remote set-url nick $url1
> git remote set-url nick --push $url2
> git remote set-url nick $url3
>
> Whatever happens without your patch after the above is what the
> current users (i.e. those who do not use the --fetch option) expect,
> so if the behaviour does not change with your patch, then there is
> one less incompatibilities to worry about.
>
> A new option "--fetch" introducing a different behaviour is
> perfectly fine; existing users who are not using it will not be
> harmed by sudden behaviour change.
As stated before, I took care to avoid backwards incompatibilities. The
command will still work as expected by the users who are aware of this
particular behavior. What I am suggesting (and which is independent of
the patch) is to make the command have a more consistent behavior.
Either it should set the fetch URL, or both the fetch and push URL, but
not vary its behavior depending on whether a push URL is set or not.
That should make the behavior of the command more consistent.
> > In a future git version, this could be made the default option to
> > avoid surprises (which would be backwards incompatible though).
>
> I am not sure what you mean "by default". If you mean "set both if
> remote.nick.pushurl does not exist but otherwise update only
> remote.nick.url", then the sequence
>
> git remote set-url nick $url1
> git remote set-url nick --push $url2
> git remote set-url nick $url3
>
> would retain the current behaviour, so it probably is OK.
>
> If you mean to always set remote.nick.url and remote.nick.pushurl
> pointing at the same value when neither --fetch nor --push is given,
> That would make the sequence behave quite different from what people
> would expect, and you would need to devise a transition plan to
> first start warning when the user did something that will behave
> differently between the current version and the future version
> without changing the behaviour, then switch the behaviour but keep
> warning and finally remove the warning, or something like that.
>
> And the above three-command sequence may not be the only case where
> the change you are proposing may hurt existing users.
The "default" refers to the behavior of "git remote set-url" in absence
of "--push" and "--fetch" options. A transition period is expected (if
this idea is put forward). Since nobody seems to be bitten by this
option, I am not sure if it really adds much value to make this change
though.
--
Kind regards,
Peter
https://lekensteyn.nl
next prev parent reply other threads:[~2014-11-24 22:16 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-19 15:18 [RFC] [PATCH] remote: add new --fetch option for set-url Peter Wu
2014-11-19 19:08 ` Jeff King
2014-11-19 19:42 ` Peter Wu
2014-11-19 20:17 ` Jeff King
2014-11-19 20:48 ` Peter Wu
2014-11-19 20:29 ` Junio C Hamano
2014-11-19 20:52 ` Peter Wu
2014-11-19 21:00 ` Junio C Hamano
2014-11-19 20:58 ` Junio C Hamano
2014-11-19 21:18 ` Junio C Hamano
2014-11-19 21:28 ` Peter Wu
2014-11-24 21:45 ` Peter Wu
2014-11-24 22:04 ` Junio C Hamano
2014-11-24 22:16 ` Peter Wu [this message]
2014-11-24 22:22 ` Jeff King
2014-11-24 22:47 ` Peter Wu
2014-11-24 22:54 ` Jeff King
2014-11-24 23:05 ` Junio C Hamano
2014-11-24 23:27 ` Peter Wu
2014-11-25 4:08 ` Jeff King
2014-11-25 4:55 ` Junio C Hamano
2014-11-25 5:01 ` Jeff King
[not found] ` <CAPc5daWh4hnKsTMpaW-TvCmVDfU+rzCezrAHcLgXDG6RVvzXHA@mail.gmail.com>
2014-11-25 11:43 ` Peter Wu
2014-11-25 11:36 ` Peter Wu
2014-11-29 13:31 ` Philip Oakley
2014-12-02 17:45 ` Peter Wu
2014-12-02 23:50 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=27811375.1kgEM3BV3q@al \
--to=peter@lekensteyn.nl \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).