fix upgrade of more than 1 version at a time
It was only running the first upgrade and not subsequent ones, but setting annex.version to the final version.
This commit is contained in:
parent
900887c9ac
commit
12c88ee571
1 changed files with 20 additions and 13 deletions
33
Upgrade.hs
33
Upgrade.hs
|
@ -53,17 +53,24 @@ upgrade automatic destversion = do
|
||||||
setVersion destversion
|
setVersion destversion
|
||||||
return upgraded
|
return upgraded
|
||||||
where
|
where
|
||||||
go (Just v) | v >= destversion = return True
|
go (Just v)
|
||||||
#ifndef mingw32_HOST_OS
|
| v >= destversion = return True
|
||||||
go (Just (RepoVersion 0)) = Upgrade.V0.upgrade
|
| otherwise = ifM (up v)
|
||||||
go (Just (RepoVersion 1)) = Upgrade.V1.upgrade
|
( go (Just (RepoVersion (fromRepoVersion v + 1)))
|
||||||
#else
|
, return False
|
||||||
go (Just (RepoVersion 0)) = giveup "upgrade from V0 on Windows not supported"
|
)
|
||||||
go (Just (RepoVersion 1)) = giveup "upgrade from V1 on Windows not supported"
|
|
||||||
#endif
|
|
||||||
go (Just (RepoVersion 2)) = Upgrade.V2.upgrade
|
|
||||||
go (Just (RepoVersion 3)) = Upgrade.V3.upgrade automatic
|
|
||||||
go (Just (RepoVersion 4)) = Upgrade.V4.upgrade automatic
|
|
||||||
go (Just (RepoVersion 5)) = Upgrade.V5.upgrade automatic
|
|
||||||
go (Just (RepoVersion 6)) = Upgrade.V6.upgrade automatic
|
|
||||||
go _ = return True
|
go _ = return True
|
||||||
|
|
||||||
|
#ifndef mingw32_HOST_OS
|
||||||
|
up (RepoVersion 0) = Upgrade.V0.upgrade
|
||||||
|
up (RepoVersion 1) = Upgrade.V1.upgrade
|
||||||
|
#else
|
||||||
|
up (RepoVersion 0) = giveup "upgrade from v0 on Windows not supported"
|
||||||
|
up (RepoVersion 1) = giveup "upgrade from v1 on Windows not supported"
|
||||||
|
#endif
|
||||||
|
up (RepoVersion 2) = Upgrade.V2.upgrade
|
||||||
|
up (RepoVersion 3) = Upgrade.V3.upgrade automatic
|
||||||
|
up (RepoVersion 4) = Upgrade.V4.upgrade automatic
|
||||||
|
up (RepoVersion 5) = Upgrade.V5.upgrade automatic
|
||||||
|
up (RepoVersion 6) = Upgrade.V6.upgrade automatic
|
||||||
|
up _ = return True
|
||||||
|
|
Loading…
Reference in a new issue