When parsing git configs, support all the documented ways to write true and false, including "yes", "on", "1", etc.
This change does impact git-annex config eg "git annex config --set annex.addunlocked on" will store "on" and new git-annex will understand that value, while old git-annex will error: git-annex: bad annex.addunlocked configuration in git annex config: Parse failure: near "on" That seems acceptable. Not special remote configs that are only documented as =true or =false however. Having git-annex support other values for those would break backwards compatability when used with old versions of git-annex. And older versions ignore invalid special remote configs.. That would not be a good combination.
This commit is contained in:
parent
9cb69dbb76
commit
5a62e8132d
4 changed files with 21 additions and 4 deletions
|
@ -166,8 +166,17 @@ isTrueFalse = isTrueFalse' . ConfigValue . encodeBS'
|
|||
|
||||
isTrueFalse' :: ConfigValue -> Maybe Bool
|
||||
isTrueFalse' (ConfigValue s)
|
||||
| s' == "yes" = Just True
|
||||
| s' == "on" = Just True
|
||||
| s' == "true" = Just True
|
||||
| s' == "1" = Just True
|
||||
|
||||
| s' == "no" = Just False
|
||||
| s' == "off" = Just False
|
||||
| s' == "false" = Just False
|
||||
| s' == "0" = Just False
|
||||
| s' == "" = Just False
|
||||
|
||||
| otherwise = Nothing
|
||||
where
|
||||
s' = S8.map toLower s
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue