diff options
author | 2013-12-29 13:06:23 -0400 | |
---|---|---|
committer | 2013-12-29 13:06:23 -0400 | |
commit | a696b98024d8b9009cd6ad021f20e087607145f6 (patch) | |
tree | 8e548dda8421a1d698ebba4ed90429011ab47642 /Upgrade.hs | |
parent | 9e53aca36b2b709034dc3ff57827a964e4a8a3d8 (diff) |
Auto-upgrade v3 indirect repos to v5 with no changes. This also fixes a problem when a direct mode repo was somehow set to v3 rather than v4, and so the automatic direct mode upgrade to v5 was not done.
Diffstat (limited to 'Upgrade.hs')
-rw-r--r-- | Upgrade.hs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/Upgrade.hs b/Upgrade.hs index 7385268e8..8566f0d5d 100644 --- a/Upgrade.hs +++ b/Upgrade.hs @@ -11,12 +11,12 @@ module Upgrade where import Common.Annex import Annex.Version -import Config #ifndef mingw32_HOST_OS import qualified Upgrade.V0 import qualified Upgrade.V1 #endif import qualified Upgrade.V2 +import qualified Upgrade.V3 import qualified Upgrade.V4 checkUpgrade :: Version -> Annex () @@ -24,7 +24,7 @@ checkUpgrade = maybe noop error <=< needsUpgrade needsUpgrade :: Version -> Annex (Maybe String) needsUpgrade v - | v `elem` supportedVersions = ok + | v == supportedVersion = ok | v `elem` autoUpgradeableVersions = ifM (upgrade True) ( ok , err "Automatic upgrade failed!" @@ -40,10 +40,7 @@ upgrade :: Bool -> Annex Bool upgrade automatic = do upgraded <- go =<< getVersion when upgraded $ - ifM isDirect - ( setVersion directModeVersion - , setVersion defaultVersion - ) + setVersion supportedVersion return upgraded where #ifndef mingw32_HOST_OS @@ -54,5 +51,6 @@ upgrade automatic = do go (Just "1") = error "upgrade from v1 on Windows not supported" #endif go (Just "2") = Upgrade.V2.upgrade + go (Just "3") = Upgrade.V3.upgrade automatic go (Just "4") = Upgrade.V4.upgrade automatic go _ = return True |