[RFC] I want to disable submit_branch on my computer for all branches. How can I do that?

vila v.ladeuil+lp at free.fr
Fri May 13 21:02:28 UTC 2011


>>>>> Aaron Bentley <aaron at aaronbentley.com> writes:

<snip/>

    > I don't understand in what context we would give a single option
    > to the user.  Are you counting --remember and --no-remember as a
    > single option and --always-remember, --never-remember and
    > --conditionally-remember as two?

There is only two possible outcomes: the location specified by the user
is remembered or it is not. I'm saying that a single option should be
enough to control that in all cases (and yes I count --remember and
--no-remember as a single option, conceptually).

The only controversial case is when no location exist and the user want
to keep it that way.

The only thing (Mark's fly ;) we want to change here is that
--no-remember inhibits setting the location when none exists.

<snip/>

    > I think that's too simple, because it doesn't discuss consistency
    > with other commands.

That's a good point.

    > As it stands, merge --no-remember would become inconsistent with
    > push --no-remember and pull --no-remember.

Right, so we may want to change it there too :)

The only case that has been annoying (from all I've heard) is for
merge. I don't remember people complaining for pull or push. On the
contrary, people tend to not realize that --remember can fix their setup
on many occasions.

The thing I like (love ?) about --remember is that it almost always do
the Right Thing.

It's: 
- specify a location once and it's remembered,
- use --remember to change it.

Simple.

If --no-remember was implemented as we've discussed, that will fix the
only defect I'm aware of.

I won't use it much, more often for merge, very rarely for push,
sometimes for pull, but for the later two they really are edge cases so
I don't really care much.

For these edge cases I use bzr config today and was hand-editing the
config file yesterday. But compared to --remember both are big and heavy
hammers.

    > If you want make never-remember the default behaviour of push and
    > pull, you should say so.

I don't think we want to make never-remember the default, even for
merge, we just want the default to be possibly overridden by
--no-remember i.e.:

  remember = None # instead of remember=False in the command signature

  if (remember # user is explicit
      or (remember is None and remembered_location is None)): # first use
     remember_this(location)

instead of:

  remember = False

  if remember or remembered_location is None:
      remember_this(location)

    > If not, we'll want to have a trinary option for them, so we could
    > have a trinary option for merge, too.

None, True, False is close enough and all the user has to know is:
- nothing (most of the time)
- use --remember to override (sometimes a change is needed)
- use --no-remember to disable (rarely used)

Now, will our users remember to use --no-remember ? ;)

      Vincent



More information about the bazaar mailing list