Subject: Re: BUG: 'error: invalid key: pager.show_ref' on 'git show_ref'

From: Junio C Hamano <[email-masked]>
Date: Fri, 06 Feb 2015 14:27:31 -0800

Jeff King <[email-masked]> writes:

> A list of enum-like values where we are OK confining the names to the
> alnums is OK to use as an unbounded set of key values. Just like we have
> color.branch.*, we just pick a name within that syntax for any new
> values we add (and that is not even a burden; alnum names are what we
> would have picked anyway).

I would say that color.branch.<slot> names are very different from
subcommand names.  The latter is exposed to the end users who do not
have to know that they can be used and must be usable as config
keys.

color.branch.<slot> names were invented _only_ to be used to
interact with the config, and nowhere else.  Of course you can just
pick a name within that "syntax for configuration variables" and be
happy with it, because the users are very aware that they are using
that name to name a configuration variable.

The names of the subcommands are very different in that they are not
just for accessing configuration variables---if the user does not
have pager.<cmd>, the user will not use it as configuration keys
anywhere in the system.