Re: How to undo previously set configuration? (again)
- Date: Fri, 26 Apr 2019 16:36:40 +0700
- From: Duy Nguyen <pclouds@xxxxxxxxx>
- Subject: Re: How to undo previously set configuration? (again)
On Thu, Apr 25, 2019 at 9:36 PM Jonathan Nieder <jrnieder@xxxxxxxxx> wrote:
> Ævar Arnfjörð Bjarmason wrote:
> > Because we don't have some general config facility for this it keeps
> > coming up, and various existing/proposed options have their own little
> > custom hacks for doing it, e.g. this for Barret Rhoden's proposed "blame
> > skip commits" feature
> > https://public-inbox.org/git/878swhfzxb.fsf@xxxxxxxxxxxxxxxxxxx/
> > (b.t.w. I *meant* /dev/null in that E-Mail, but due to PEBCAK wrote
> > /dev/zero).
> I'm confused. Isn't that bog-standard Git usage, not a custom hack?
> That is, I thought the intended behavior is always
> 1. For single-valued options, last value wins.
> 2. For multi-valued options, empty clears the list.
I didn't know this! Should it be documented? At least a quick skimming
through config.txt does not mention anything about empty value
clearing multi-valued options.
I also wanted to see if it's true. However, the first var I checked,
branch.*.merge does not follow this rule. I got disappointed and
> 3. When there is a special behavior triggered by not supplying the
> option at all, offer an explicit value like "default" that triggers
> the same behavior, too.
> and that any instance of a command that isn't following that is a bug.
Not sure how many we need to fix. The behaviour does make sense to me though.
> Which of course leaves room for improvement in documentation and how
> we organize the implementation (as Peff discussed in ), but isn't
> it nice to already have something in place that doesn't require
> inventing a new syntax?
This cannot undefine a variable though, especially those single-valued
ones. But I think for most cases, the user just needs to find out what
is the default value and set to that one.
I don't know if there is any case where the lack of a variable behaves
differently (or the default value is too dynamic to be set manually)
>  https://public-inbox.org/git/20180406175044.GA32228@xxxxxxxxxxxxxxxxxxxxx/