summaryrefslogtreecommitdiff
path: root/Annex.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Annex.hs')
-rw-r--r--Annex.hs12
1 files changed, 11 insertions, 1 deletions
diff --git a/Annex.hs b/Annex.hs
index e86e1967e..7c046b141 100644
--- a/Annex.hs
+++ b/Annex.hs
@@ -19,7 +19,8 @@ module Annex (
flagGet,
Flag(..),
queue,
- queueGet
+ queueGet,
+ setConfig
) where
import Control.Monad.State
@@ -118,3 +119,12 @@ queueGet :: Annex GitQueue.Queue
queueGet = do
state <- get
return (Internals.repoqueue state)
+
+{- Changes a git config setting in both internal state and .git/config -}
+setConfig :: String -> String -> Annex ()
+setConfig key value = do
+ g <- Annex.gitRepo
+ liftIO $ Git.run g ["config", key, value]
+ -- re-read git config and update the repo's state
+ g' <- liftIO $ Git.configRead g Nothing
+ Annex.gitRepoChange g'