summaryrefslogtreecommitdiff
path: root/Assistant
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-12-29 23:10:18 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-12-29 23:10:18 -0400
commit652f844e2348165062868cb197ee725d42198f03 (patch)
tree2d6a26a3659e54428fdf893bc9919ffb0b6de5de /Assistant
parent69650c5989432cd83067614421c6bc3ef0cccab7 (diff)
type based git config handling
Now there's a Config type, that's extracted from the git config at startup. Note that laziness means that individual config values are only looked up and parsed on demand, and so we get implicit memoization for all of them. So this is not only prettier and more type safe, it optimises several places that didn't have explicit memoization before. As well as getting rid of the ugly explicit memoization code. Not yet done for annex.<remote>.* configuration settings.
Diffstat (limited to 'Assistant')
-rw-r--r--Assistant/Threads/Committer.hs7
1 files changed, 4 insertions, 3 deletions
diff --git a/Assistant/Threads/Committer.hs b/Assistant/Threads/Committer.hs
index e968959c6..7940b0836 100644
--- a/Assistant/Threads/Committer.hs
+++ b/Assistant/Threads/Committer.hs
@@ -32,6 +32,7 @@ import Types.KeySource
import Config
import Annex.Exception
import Annex.Content
+import qualified Annex
import Data.Time.Clock
import Data.Tuple.Utils
@@ -41,9 +42,9 @@ import Data.Either
{- This thread makes git commits at appropriate times. -}
commitThread :: NamedThread
commitThread = NamedThread "Committer" $ do
- delayadd <- liftAnnex $ do
- v <- readish <$> getConfig (annexConfig "delayadd") ""
- maybe delayaddDefault (return . Just . Seconds) v
+ delayadd <- liftAnnex $
+ maybe delayaddDefault (return . Just . Seconds)
+ =<< annexDelayAdd <$> Annex.getConfig
runEvery (Seconds 1) <~> do
-- We already waited one second as a simple rate limiter.
-- Next, wait until at least one change is available for