8a0480daf3
I run haddock with `cabal haddock --executables`. It fails with: Types/Remote.hs:271:17: error: parse error on input ‘->’ Apparently haddock does not like to find haddock blocks outside of declarations? In any case, this patch makes these type of errors go away. Afterwards, I see errors like these, that need to be investigated as a next step: haddock: internal error: internal: extractDecl CallStack (from HasCallStack): error, called at utils/haddock/haddock-api/src/Haddock/Interface/Create.hs:1116:12 in main:Haddock.Interface.Create
49 lines
1.2 KiB
Haskell
49 lines
1.2 KiB
Haskell
{- git-annex command
|
|
-
|
|
- Copyright 2011-2020 Joey Hess <id@joeyh.name>
|
|
-
|
|
- Licensed under the GNU AGPL version 3 or higher.
|
|
-}
|
|
|
|
module Command.Upgrade where
|
|
|
|
import Command
|
|
import Upgrade
|
|
import Annex.Version
|
|
import Annex.Init
|
|
|
|
cmd :: Command
|
|
cmd = dontCheck
|
|
-- because an old version may not seem to exist
|
|
-- and also, this avoids automatic silent upgrades before
|
|
-- this command can start up.
|
|
repoExists $
|
|
-- avoid upgrading repo out from under daemon
|
|
noDaemonRunning $
|
|
command "upgrade" SectionMaintenance "upgrade repository"
|
|
paramNothing (seek <$$> optParser)
|
|
|
|
data UpgradeOptions = UpgradeOptions
|
|
{ autoOnly :: Bool
|
|
}
|
|
|
|
optParser :: CmdParamsDesc -> Parser UpgradeOptions
|
|
optParser _ = UpgradeOptions
|
|
<$> switch
|
|
( long "autoonly"
|
|
<> help "only do automatic upgrades"
|
|
)
|
|
|
|
seek :: UpgradeOptions -> CommandSeek
|
|
seek o = commandAction (start o)
|
|
|
|
start :: UpgradeOptions -> CommandStart
|
|
start (UpgradeOptions { autoOnly = True }) = do
|
|
starting "upgrade" (ActionItemOther Nothing) $ do
|
|
getVersion >>= maybe noop checkUpgrade
|
|
next $ return True
|
|
start _ = starting "upgrade" (ActionItemOther Nothing) $ do
|
|
whenM (isNothing <$> getVersion) $ do
|
|
initialize Nothing Nothing
|
|
r <- upgrade False latestVersion
|
|
next $ return r
|