3cc94c1667
A top-level .noannex file will prevent git-annex init from being used in a repository. This is useful for repositories that have a policy reason not to use git-annex. The content of the file will be displayed to the user who tries to run git-annex init. This also affects git annex reinit and initialization via the webapp. It does not affect automatic inits, when there's a sibling git-annex branch already. This commit was supported by the NSF-funded DataLad project.
30 lines
749 B
Haskell
30 lines
749 B
Haskell
{- git-annex command
|
|
-
|
|
- Copyright 2011 Joey Hess <id@joeyh.name>
|
|
-
|
|
- Licensed under the GNU GPL version 3 or higher.
|
|
-}
|
|
|
|
module Command.Upgrade where
|
|
|
|
import Command
|
|
import Upgrade
|
|
import Annex.Version
|
|
import Annex.Init
|
|
|
|
cmd :: Command
|
|
cmd = dontCheck repoExists $ -- because an old version may not seem to exist
|
|
noDaemonRunning $ -- avoid upgrading repo out from under daemon
|
|
command "upgrade" SectionMaintenance "upgrade repository layout"
|
|
paramNothing (withParams seek)
|
|
|
|
seek :: CmdParams -> CommandSeek
|
|
seek = withNothing start
|
|
|
|
start :: CommandStart
|
|
start = do
|
|
showStart' "upgrade" Nothing
|
|
whenM (isNothing <$> getVersion) $ do
|
|
initialize (AutoInit False) Nothing Nothing
|
|
r <- upgrade False latestVersion
|
|
next $ next $ return r
|