aboutsummaryrefslogtreecommitdiff
path: root/Upgrade.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-12-29 13:06:23 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-12-29 13:06:23 -0400
commita696b98024d8b9009cd6ad021f20e087607145f6 (patch)
tree8e548dda8421a1d698ebba4ed90429011ab47642 /Upgrade.hs
parent9e53aca36b2b709034dc3ff57827a964e4a8a3d8 (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.hs10
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