summaryrefslogtreecommitdiff
path: root/Config.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2017-02-03 13:40:14 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2017-02-03 13:58:53 -0400
commit4cded2bc85d530dd335738cb870daf3a2d4e4a2f (patch)
tree6b84dd8cf04f9fa17d3de55c17e4139278f398bd /Config.hs
parentc35b2728cffdb98fa3b962505ebb0f1d2304ecce (diff)
annex.autocommit can be configured via git-annex config
... to control the default behavior in all clones of a repository. This includes a new Configurable data type, so the GitConfig type indicates which values can be configured this way. The implementation should be quite efficient; the config log is only read once, and only when a Configurable value has not already been set by git-config. Indeed, it would be nice in the future to extend this, so that git-config is itself only read on demand. Some commands may not need to look at the git configuration at all. This commit was sponsored by Trenton Cronholm on Patreon.
Diffstat (limited to 'Config.hs')
-rw-r--r--Config.hs5
1 files changed, 3 insertions, 2 deletions
diff --git a/Config.hs b/Config.hs
index 84736cac3..3eecf4a4e 100644
--- a/Config.hs
+++ b/Config.hs
@@ -1,6 +1,6 @@
{- Git configuration
-
- - Copyright 2011-2014 Joey Hess <id@joeyh.name>
+ - Copyright 2011-2017 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU GPL version 3 or higher.
-}
@@ -24,7 +24,8 @@ data ConfigKey = ConfigKey String
instance Show ConfigKey where
show (ConfigKey s) = s
-{- Looks up a setting in git config. -}
+{- Looks up a setting in git config. This is not as efficient as using the
+ - GitConfig type. -}
getConfig :: ConfigKey -> String -> Annex String
getConfig (ConfigKey key) d = fromRepo $ Git.Config.get key d