summaryrefslogtreecommitdiff
path: root/CmdLine/GitAnnex
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-11-04 16:19:00 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-11-04 16:22:43 -0400
commit332e98b6cb1091c46221e2d8579a0035ba4dff51 (patch)
tree7c80c508ddf408951a6ffc0c419c84094736e781 /CmdLine/GitAnnex
parent527b6970457e74f8c88dfdac7c96241e2496a2f2 (diff)
arrange for regional output manager to run when -J is enabled
Commands that want to use it have to run their seek action inside allowConcurrentOutput. Which seems reasonable; perhaps some future command will want to support the -J flag but not use regions. The region state moved from Annex to MessageState. This makes sense organizationally, and note that some uses of onLocal use a different Annex state, but pass the MessageState into it, which is what is needed.
Diffstat (limited to 'CmdLine/GitAnnex')
-rw-r--r--CmdLine/GitAnnex/Options.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/CmdLine/GitAnnex/Options.hs b/CmdLine/GitAnnex/Options.hs
index 06e04748d..b004e4239 100644
--- a/CmdLine/GitAnnex/Options.hs
+++ b/CmdLine/GitAnnex/Options.hs
@@ -282,13 +282,17 @@ jsonOption = globalFlag (Annex.setOutput JSONOutput)
<> hidden
)
+-- Note that a command that adds this option should wrap its seek
+-- action in `allowConcurrentOutput`.
jobsOption :: GlobalOption
-jobsOption = globalSetter (Annex.setOutput . ConcurrentOutput) $
+jobsOption = globalSetter set $
option auto
( long "jobs" <> short 'J' <> metavar paramNumber
<> help "enable concurrent jobs"
<> hidden
)
+ where
+ set n = Annex.changeState $ \s -> s { Annex.concurrentjobs = Just n }
timeLimitOption :: GlobalOption
timeLimitOption = globalSetter Limit.addTimeLimit $ strOption