Subject: Re: [RFC] [PATCH] remote: add new --fetch option for set-url

From: Peter Wu <[email-masked]>
Date: Mon, 24 Nov 2014 23:47:30 +0100

On Monday 24 November 2014 17:22:44 Jeff King wrote:
> On Mon, Nov 24, 2014 at 11:16:03PM +0100, Peter Wu wrote:
> 
> > > 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.
> 
> Right. My original complaint was only that "--fetch" is not as
> orthogonal to "--push" (and an optionless set-url) as it could be. I
> think the alternatives for going forward are basically:
> 
>   1. Name it something besides --fetch (but that's rather clunky).

It is not orthogonal to --push in the config, but the behavior exposed
to the user is orthogonal unless I am missing something?

I can understand that --fetch sounds a bit weird, what about this
natural translation:

    "git remote: set the URL (only the fetch one) for NAME to URL"
    git remote set-url --only=fetch NAME URL

    "git remote: set the URL (only the push one) for NAME to URL"
    git remote set-url --only=push NAME URL
    (obsoletes --push)

    "git remote: set the URL (both) for NAME to URL"
    git remote set-url --only=both NAME URL
    (it would be nice if --only=both (weird!) can be removed in the
    future such that the option is more natural)

    "git remote: set the URL for NAME to URL"
    git remote set-url NAME URL
    (current behavior: YOU git guru knows what I do right?)

>   2. Migrate to new behavior, which is what is being discussed here.
>      Probably needs a transition period?

A transition period would also help to solicit feedback.

>   3. Live with it. Probably address the weirdness in the documentation.
> 
>   4. Do nothing, drop the patch.
> 
> I think I'd be OK with (3), with an appropriate documentation update.

I prefer 1 for now as it avoids the extra manual action I have to take
when changing URLs.

Peter