summaryrefslogtreecommitdiff
path: root/Upgrade.hs
blob: d201cc73edb31f833b6d00edcbe4cf3f48eaecb0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{- git-annex upgrade support
 -
 - Copyright 2010 Joey Hess <joey@kitenet.net>
 -
 - Licensed under the GNU GPL version 3 or higher.
 -}

module Upgrade where

import Types
import Version
import qualified Upgrade.V0
import qualified Upgrade.V1

upgradableVersions :: [Version]
upgradableVersions = ["0", "1"]

{- Uses the annex.version git config setting to automate upgrades. -}
upgrade :: Annex Bool
upgrade = do
	version <- getVersion
	case version of
		"0" -> Upgrade.V0.upgrade
		"1" -> Upgrade.V1.upgrade
		v | v `elem` supportedVersions -> return True
		_ -> error "this version of git-annex is too old for this git repository!"