wired up global options
Note that I ran into a problem where parsing the global options looped forever, eating memory. It was somehow caused by stacking combineGlobalSetters inside a combineGlobalSetters. Maybe due to both using "many"? Anyway, changed things to avoid that.
This commit is contained in:
parent
adb9fddfdd
commit
b66a2d6c5b
5 changed files with 25 additions and 24 deletions
|
@ -29,10 +29,9 @@ import CmdLine.Usage
|
|||
|
||||
-- Global options that are accepted by all git-annex sub-commands,
|
||||
-- although not always used.
|
||||
gitAnnexGlobalOptions :: Parser GlobalSetter
|
||||
gitAnnexGlobalOptions = globalSetters
|
||||
[ commonGlobalOptions
|
||||
, globalSetter setnumcopies $ option auto
|
||||
gitAnnexGlobalOptions :: [Parser GlobalSetter]
|
||||
gitAnnexGlobalOptions = commonGlobalOptions ++
|
||||
[ globalSetter setnumcopies $ option auto
|
||||
( long "numcopies" <> short 'N' <> metavar paramNumber
|
||||
<> help "override default number of copies"
|
||||
)
|
||||
|
|
|
@ -53,14 +53,13 @@ cmds = map adddirparam $ cmds_readonly ++ cmds_notreadonly
|
|||
where
|
||||
adddirparam c = c { cmdparamdesc = "DIRECTORY " ++ cmdparamdesc c }
|
||||
|
||||
options :: Parser GlobalSetter
|
||||
options = globalSetters
|
||||
[ commonGlobalOptions
|
||||
, globalSetter checkUUID $ strOption
|
||||
globalOptions :: [Parser GlobalSetter]
|
||||
globalOptions =
|
||||
globalSetter checkUUID (strOption
|
||||
( long "uuid" <> metavar paramUUID
|
||||
<> help "local repository uuid"
|
||||
)
|
||||
]
|
||||
))
|
||||
: commonGlobalOptions
|
||||
where
|
||||
checkUUID expected = getUUID >>= check
|
||||
where
|
||||
|
@ -101,7 +100,7 @@ builtin cmd dir params = do
|
|||
let (params', fieldparams, opts) = partitionParams params
|
||||
rsyncopts = ("RsyncOptions", unwords opts)
|
||||
fields = rsyncopts : filter checkField (parseFields fieldparams)
|
||||
dispatch False (cmd : params') cmds options fields mkrepo
|
||||
dispatch False (cmd : params') cmds globalOptions fields mkrepo
|
||||
"git-annex-shell"
|
||||
"Restricted login shell for git-annex only SSH access"
|
||||
where
|
||||
|
|
|
@ -25,8 +25,8 @@ import Types.Messages
|
|||
import Types.DeferredParse
|
||||
|
||||
-- Global options accepted by both git-annex and git-annex-shell sub-commands.
|
||||
commonGlobalOptions :: Parser GlobalSetter
|
||||
commonGlobalOptions = globalSetters
|
||||
commonGlobalOptions :: [Parser GlobalSetter]
|
||||
commonGlobalOptions =
|
||||
[ globalFlag (setforce True)
|
||||
( long "force"
|
||||
<> help "allow actions that may lose annexed data"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue