summaryrefslogtreecommitdiff
path: root/Version.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Version.hs')
-rw-r--r--Version.hs19
1 files changed, 7 insertions, 12 deletions
diff --git a/Version.hs b/Version.hs
index 44fd2e9de..fcf6bc4d1 100644
--- a/Version.hs
+++ b/Version.hs
@@ -7,8 +7,6 @@
module Version where
-import Control.Monad (unless)
-
import Types
import qualified Annex
import qualified Git
@@ -39,14 +37,11 @@ getVersion = do
setVersion :: Annex ()
setVersion = setConfig versionField defaultVersion
-checkVersion :: Annex () -> Annex ()
-checkVersion initaction = getVersion >>= handle
+checkVersion :: Version -> Annex ()
+checkVersion v
+ | v `elem` supportedVersions = return ()
+ | v `elem` upgradableVersions = err "Upgrade this repository: git-annex upgrade"
+ | otherwise = err "Upgrade git-annex."
where
- handle Nothing = initaction
- handle (Just v) = unless (v `elem` supportedVersions) $
- error $ "Repository version " ++ v ++
- " is not supported. " ++
- msg v
- msg v
- | v `elem` upgradableVersions = "Upgrade this repository: git-annex upgrade"
- | otherwise = "Upgrade git-annex."
+ err msg = error $ "Repository version " ++ v ++
+ " is not supported. " ++ msg