diff options
author | Joey Hess <joey@kitenet.net> | 2013-11-22 16:04:20 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-11-22 16:04:20 -0400 |
commit | b45b9d64280be90e552a187ab2e99a2e77f8346f (patch) | |
tree | 44d8b76f84013d2d3ceedb2295e540efec9ed337 /Types | |
parent | 8e6e6c47702e2af19b2b319b0ebc37e5a749ff27 (diff) |
annex.autoupgrade setting
Diffstat (limited to 'Types')
-rw-r--r-- | Types/Distribution.hs | 16 | ||||
-rw-r--r-- | Types/GitConfig.hs | 3 |
2 files changed, 19 insertions, 0 deletions
diff --git a/Types/Distribution.hs b/Types/Distribution.hs index 4382dd072..4201f49ad 100644 --- a/Types/Distribution.hs +++ b/Types/Distribution.hs @@ -9,6 +9,7 @@ module Types.Distribution where import Types.Key import Data.Time.Clock +import Git.Config (isTrue, boolConfig) data GitAnnexDistribution = GitAnnexDistribution { distributionUrl :: String @@ -20,3 +21,18 @@ data GitAnnexDistribution = GitAnnexDistribution deriving (Read, Show, Eq) type GitAnnexVersion = String + +data AutoUpgrade = AskUpgrade | AutoUpgrade | NoAutoUpgrade + deriving (Eq) + +toAutoUpgrade :: (Maybe String) -> AutoUpgrade +toAutoUpgrade Nothing = AskUpgrade +toAutoUpgrade (Just s) + | s == "ask" = AskUpgrade + | isTrue s == Just True = AutoUpgrade + | otherwise = NoAutoUpgrade + +fromAutoUpgrade :: AutoUpgrade -> String +fromAutoUpgrade AskUpgrade = "ask" +fromAutoUpgrade AutoUpgrade = boolConfig True +fromAutoUpgrade NoAutoUpgrade = boolConfig False diff --git a/Types/GitConfig.hs b/Types/GitConfig.hs index b573a9a25..7224f43ff 100644 --- a/Types/GitConfig.hs +++ b/Types/GitConfig.hs @@ -17,6 +17,7 @@ import qualified Git import qualified Git.Config import Utility.DataUnits import Config.Cost +import Types.Distribution {- Main git-annex settings. Each setting corresponds to a git-config key - such as annex.foo -} @@ -42,6 +43,7 @@ data GitConfig = GitConfig , annexCrippledFileSystem :: Bool , annexLargeFiles :: Maybe String , annexFsckNudge :: Bool + , annexAutoUpgrade :: AutoUpgrade , coreSymlinks :: Bool , gcryptId :: Maybe String } @@ -70,6 +72,7 @@ extractGitConfig r = GitConfig , annexCrippledFileSystem = getbool (annex "crippledfilesystem") False , annexLargeFiles = getmaybe (annex "largefiles") , annexFsckNudge = getbool (annex "fscknudge") True + , annexAutoUpgrade = toAutoUpgrade $ getmaybe (annex "autoupgrade") , coreSymlinks = getbool "core.symlinks" True , gcryptId = getmaybe "core.gcrypt-id" } |