Web lists-archives.com

Re: How to undo previously set configuration? (again)




Hi -

On 4/25/19 10:36 AM, Jonathan Nieder wrote:
Hi,

Æ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.
  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 if it's meant to be the standard, but I just went with the style used by credential.helper. This was suggested to me by Johannes in [1]:

On 2019-01-18 at 10:47 Johannes Schindelin <Johannes.Schindelin@xxxxxx>
wrote:
A better idea IMHO would be to use an OPT_STRING_LIST() for
`--ignore-revs-file`, too, and to allow for multiple
`blame.ignoreRevsFile` config entries (with our usual trick of handling an
empty setting by resetting the list of paths that were accumulated so
far, see e.g. how `credential.helper` is handled).

[1] https://public-inbox.org/git/nycvar.QRO.7.76.6.1901181038540.41@xxxxxxxxxxxxxxxxx/

Barret