When auto-upgrading a v3 remote, avoid upgrading to version 6, instead keep it at version 5.
Fixes a bug introduced with v6 mode that I didn't notice until now. Probably not many v3 repos left out there, and upgrading them to v6 mode is not disastrous, only a little premature. This commit was sponsored by Riku Voipio
This commit is contained in:
parent
f23446b60e
commit
f867fc157f
6 changed files with 14 additions and 11 deletions
|
@ -26,7 +26,7 @@ checkUpgrade = maybe noop error <=< needsUpgrade
|
|||
needsUpgrade :: Version -> Annex (Maybe String)
|
||||
needsUpgrade v
|
||||
| v `elem` supportedVersions = ok
|
||||
| v `elem` autoUpgradeableVersions = ifM (upgrade True)
|
||||
| v `elem` autoUpgradeableVersions = ifM (upgrade True defaultVersion)
|
||||
( ok
|
||||
, err "Automatic upgrade failed!"
|
||||
)
|
||||
|
@ -37,13 +37,14 @@ needsUpgrade v
|
|||
" is not supported. " ++ msg
|
||||
ok = return Nothing
|
||||
|
||||
upgrade :: Bool -> Annex Bool
|
||||
upgrade automatic = do
|
||||
upgrade :: Bool -> Version -> Annex Bool
|
||||
upgrade automatic destversion = do
|
||||
upgraded <- go =<< getVersion
|
||||
when upgraded $
|
||||
setVersion latestVersion
|
||||
setVersion destversion
|
||||
return upgraded
|
||||
where
|
||||
go (Just v) | v >= destversion = return True
|
||||
#ifndef mingw32_HOST_OS
|
||||
go (Just "0") = Upgrade.V0.upgrade
|
||||
go (Just "1") = Upgrade.V1.upgrade
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue