diff options
Diffstat (limited to 'Annex/Version.hs')
-rw-r--r-- | Annex/Version.hs | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Annex/Version.hs b/Annex/Version.hs new file mode 100644 index 000000000..2b4a49fd2 --- /dev/null +++ b/Annex/Version.hs @@ -0,0 +1,47 @@ +{- git-annex repository versioning + - + - Copyright 2010,2013 Joey Hess <joey@kitenet.net> + - + - Licensed under the GNU GPL version 3 or higher. + -} + +{-# LANGUAGE CPP #-} + +module Annex.Version where + +import Common.Annex +import Config +import qualified Annex + +type Version = String + +defaultVersion :: Version +defaultVersion = "3" + +directModeVersion :: Version +directModeVersion = "5" + +supportedVersions :: [Version] +supportedVersions = [defaultVersion, directModeVersion] + +upgradableVersions :: [Version] +#ifndef mingw32_HOST_OS +upgradableVersions = ["0", "1", "2", "4"] +#else +upgradableVersions = ["2", "4"] +#endif + +autoUpgradeableVersions :: [Version] +autoUpgradeableVersions = ["4"] + +versionField :: ConfigKey +versionField = annexConfig "version" + +getVersion :: Annex (Maybe Version) +getVersion = annexVersion <$> Annex.getGitConfig + +setVersion :: Version -> Annex () +setVersion = setConfig versionField + +removeVersion :: Annex () +removeVersion = unsetConfig versionField |