convert version command, and make --raw work when not in a git repo
This commit is contained in:
parent
b4d22e6d49
commit
4064dd4c82
5 changed files with 51 additions and 51 deletions
|
@ -35,7 +35,7 @@ import Logs.View (is_branchView)
|
|||
import Annex.BloomFilter
|
||||
|
||||
cmd :: Command
|
||||
cmd = withOptions [unusedFromOption, refSpecOption] $
|
||||
cmd = -- withGlobalOptions [unusedFromOption, refSpecOption] $
|
||||
command "unused" SectionMaintenance
|
||||
"look for unused file content"
|
||||
paramNothing (withParams seek)
|
||||
|
|
|
@ -18,40 +18,41 @@ import qualified Remote
|
|||
import qualified Backend
|
||||
|
||||
cmd :: Command
|
||||
cmd = withOptions [rawOption] $ dontCheck repoExists $ noCommit $
|
||||
noRepo (parseparams startNoRepo) $
|
||||
cmd = dontCheck repoExists $ noCommit $
|
||||
noRepo (seekNoRepo <$$> optParser) $
|
||||
command "version" SectionQuery "show version info"
|
||||
paramNothing (parseparams seek)
|
||||
where
|
||||
parseparams = withParams
|
||||
paramNothing (seek <$$> optParser)
|
||||
|
||||
rawOption :: Option
|
||||
rawOption = flagOption [] "raw" "output only program version"
|
||||
data VersionOptions = VersionOptions
|
||||
{ rawOption :: Bool
|
||||
}
|
||||
|
||||
seek :: CmdParams -> CommandSeek
|
||||
seek = withNothing $ ifM (getOptionFlag rawOption) (startRaw, start)
|
||||
optParser :: CmdParamsDesc -> Parser VersionOptions
|
||||
optParser _ = VersionOptions
|
||||
<$> switch
|
||||
( long "raw"
|
||||
<> help "output only program version"
|
||||
)
|
||||
|
||||
startRaw :: CommandStart
|
||||
startRaw = do
|
||||
liftIO $ do
|
||||
putStr SysConfig.packageversion
|
||||
hFlush stdout
|
||||
stop
|
||||
seek :: VersionOptions -> CommandSeek
|
||||
seek o
|
||||
| rawOption o = liftIO showRawVersion
|
||||
| otherwise = showVersion
|
||||
|
||||
start :: CommandStart
|
||||
start = do
|
||||
seekNoRepo :: VersionOptions -> IO ()
|
||||
seekNoRepo o
|
||||
| rawOption o = showRawVersion
|
||||
| otherwise = showPackageVersion
|
||||
|
||||
showVersion :: Annex ()
|
||||
showVersion = do
|
||||
v <- getVersion
|
||||
liftIO $ do
|
||||
|
||||
showPackageVersion
|
||||
vinfo "local repository version" $ fromMaybe "unknown" v
|
||||
vinfo "supported repository version" supportedVersion
|
||||
vinfo "upgrade supported from repository versions" $
|
||||
unwords upgradableVersions
|
||||
stop
|
||||
|
||||
startNoRepo :: CmdParams -> IO ()
|
||||
startNoRepo _ = showPackageVersion
|
||||
|
||||
showPackageVersion :: IO ()
|
||||
showPackageVersion = do
|
||||
|
@ -60,5 +61,10 @@ showPackageVersion = do
|
|||
vinfo "key/value backends" $ unwords $ map B.name Backend.list
|
||||
vinfo "remote types" $ unwords $ map R.typename Remote.remoteTypes
|
||||
|
||||
showRawVersion :: IO ()
|
||||
showRawVersion = do
|
||||
putStr SysConfig.packageversion
|
||||
hFlush stdout -- no newline, so flush
|
||||
|
||||
vinfo :: String -> String -> IO ()
|
||||
vinfo k v = putStrLn $ k ++ ": " ++ v
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue