c3f47ba389
Avoid performing repository fixups for submodules and git-worktrees when there's a .noannex file that will prevent git-annex from being used in the repository. This change is ok as long as the .noannex file is really going to prevent git-annex from being used. But, init --force could override the file. Which would result in the repo being initialized without the fixups having run. To avoid that situation decided to change init, to not let --force be used to override a .noannex file. Instead the user can just delete the file.
30 lines
748 B
Haskell
30 lines
748 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 (commandAction start)
|
|
|
|
start :: CommandStart
|
|
start = do
|
|
showStart' "upgrade" Nothing
|
|
whenM (isNothing <$> getVersion) $ do
|
|
initialize Nothing Nothing
|
|
r <- upgrade False latestVersion
|
|
next $ next $ return r
|