<p><br>
> > Let's see:<br>
> ><br>
> > no exiting setting:<br>
> > * default: current setting is stored,<br>
> > * --remember: current setting is stored,<br>
> > * --no-remember: current setting is not stored<br>
> ><br>
> > existing setting:<br>
> > * default: current setting is *not* stored,<br>
> > * --remember: current setting is stored<br>
> > * --no-remember: current setting is not stored<br>
> ><br>
> > Yes, I cheated, I used None, True, False, thanks python :)<br>
> ><br>
> > Does that work for you ?<br>
><br>
> I don't like it, because it breaks "merge --remember --no-remember" when<br>
> there's no existing setting.</p>
<p>I'd actually go a bit further than Vincent and say that perhaps remembering things depending on whether there is already a default is complicating the user model more than is worth while for the convenience.</p>
<p>How about instead:</p>
<p>Locations are never remembered by default. (Perhaps they should be set while calving branching.)</p>
<p>With --remember (can be canceled with --no), the location is stored as the default.</p>
<p>With --no-default-location (also can be canceled), the command fails if no explicit location is given.</p>