support boolean git configs that are represented by the name of the setting with no value

Eg"core.bare" is the same as "core.bare = true".

Note that git treats "core.bare =" the same as "core.bare = false", so the
code had to become more complicated in order to treat the absense of a
value differently than an empty value. Ugh.
This commit is contained in:
Joey Hess 2020-04-13 13:35:22 -04:00
parent ca9c6c5f60
commit 9cb69dbb76
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
8 changed files with 35 additions and 7 deletions

View file

@ -98,6 +98,7 @@ getParticiantList globalconfigrepo repo remotename = KeyIds $ parse $ firstJust
defaultkey = "gcrypt.participants"
parse (Just (ConfigValue "simple")) = []
parse (Just (ConfigValue b)) = words (decodeBS' b)
parse (Just NoConfigValue) = []
parse Nothing = []
remoteParticipantConfigKey :: RemoteName -> ConfigKey