diff options
author | Joey Hess <joey@kitenet.net> | 2011-12-09 18:57:09 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-12-09 18:57:09 -0400 |
commit | 4b3c4c0c2b88aa17a9b7822470e3e5dd2a3e7c2b (patch) | |
tree | 15aa009b770199bca447d81a9d2f0bb401908a91 /Config.hs | |
parent | 28699c95a7de284f07a5c0e34fb1755868301f3c (diff) |
avoid some read
Diffstat (limited to 'Config.hs')
-rw-r--r-- | Config.hs | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -79,9 +79,10 @@ repoNotIgnored r = not . Git.configTrue <$> getConfig r "ignore" "false" {- If a value is specified, it is used; otherwise the default is looked up - in git config. forcenumcopies overrides everything. -} getNumCopies :: Maybe Int -> Annex Int -getNumCopies v = - Annex.getState Annex.forcenumcopies >>= maybe (use v) (return . id) +getNumCopies v = perhaps (use v) =<< Annex.getState Annex.forcenumcopies where use (Just n) = return n - use Nothing = read <$> fromRepo (Git.configGet config "1") + use Nothing = perhaps (return 1) =<< + readMaybe <$> fromRepo (Git.configGet config "1") + perhaps fallback = maybe fallback (return . id) config = "annex.numcopies" |