Project.pm: upgrade boolean settings to first-class citizens
commit1dbc13775998258234f2dcde324bb520631ba67e
authorKyle J. McKay <mackyle@gmail.com>
Sat, 29 Oct 2016 23:58:24 +0000 (29 16:58 -0700)
committerKyle J. McKay <mackyle@gmail.com>
Sat, 29 Oct 2016 23:58:24 +0000 (29 16:58 -0700)
tree96fe804e9f98bae8fdef3c92812fa328c43f9bd6
parentd0fa2cc9ba399ae5adc7b5ee3b22e36eda595cbe
Project.pm: upgrade boolean settings to first-class citizens

Introduce a new prefix '!' to indicate that a setting is a boolean
and migrate the four pre-existing boolean settings that have been
handled as special cases to new '!' settings in the %propmap hash.

Also introduce default values for config file settings since one of
the previously special-cased boolean values needs to default to true.

Any of the config file settings in %propmap (or %propmapro), in other
words any settings that start with a [:%!] prefixed config name, may
now have a ":<defval>" suffix and if the respective config setting has
not been set then <defval> will be used for the value.

Finally, to avoid unnecessary additional (and slow) calls to the
"git config" command to set values, avoid running "git config" to
set the same value that is already there.

Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
Girocco/Project.pm