fix autoupgrade from v6 to go to v7, not v5

v3 and v4 still autoupgrade to v5

And a few more upgrade doc updates.
This commit is contained in:
Joey Hess 2018-10-25 18:33:34 -04:00
parent 234842a347
commit b996b38b4f
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
4 changed files with 25 additions and 10 deletions

View file

@ -22,18 +22,24 @@ import qualified Upgrade.V4
import qualified Upgrade.V5
import qualified Upgrade.V6
import qualified Data.Map as M
checkUpgrade :: RepoVersion -> Annex ()
checkUpgrade = maybe noop giveup <=< needsUpgrade
needsUpgrade :: RepoVersion -> Annex (Maybe String)
needsUpgrade v
| v `elem` supportedVersions = ok
| v `elem` autoUpgradeableVersions = ifM (upgrade True defaultVersion)
( ok
, err "Automatic upgrade failed!"
)
| v `elem` upgradableVersions = err "Upgrade this repository: git-annex upgrade"
| otherwise = err "Upgrade git-annex."
| otherwise = case M.lookup v autoUpgradeableVersions of
Nothing
| v `elem` upgradableVersions ->
err "Upgrade this repository: git-annex upgrade"
| otherwise ->
err "Upgrade git-annex."
Just newv -> ifM (upgrade True newv)
( ok
, err "Automatic upgrade failed!"
)
where
err msg = return $ Just $ "Repository version " ++
show (fromRepoVersion v) ++