aboutsummaryrefslogtreecommitdiff
path: root/Remote/Bup.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-04-04 14:34:03 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-04-04 14:34:03 -0400
commit092e6b0f3f61ad3ede912a00bbbeb635ab9bc267 (patch)
tree57107e1a0aaedd9ceff8c4ec33ad1a8fffc6852a /Remote/Bup.hs
parentb3b8a1cdfdc583159c117ebe76e3c6a4eb57114b (diff)
well along the way to fully quiet --quiet
Came up with a generic way to filter out progress messages while keeping errors, for commands that use stderr for both. --json mode will disable command outputs too.
Diffstat (limited to 'Remote/Bup.hs')
-rw-r--r--Remote/Bup.hs16
1 files changed, 10 insertions, 6 deletions
diff --git a/Remote/Bup.hs b/Remote/Bup.hs
index 01501dc9e..42f17e921 100644
--- a/Remote/Bup.hs
+++ b/Remote/Bup.hs
@@ -121,18 +121,22 @@ bup command buprepo params = do
showOutput -- make way for bup output
liftIO $ boolSystem "bup" $ bupParams command buprepo params
-bupSplitParams :: Remote -> BupRepo -> Key -> [CommandParam] -> Annex [CommandParam]
-bupSplitParams r buprepo k src = do
+bupSplitParams :: Remote -> BupRepo -> Key -> [CommandParam] -> [CommandParam]
+bupSplitParams r buprepo k src =
let os = map Param $ remoteAnnexBupSplitOptions $ gitconfig r
- showOutput -- make way for bup output
- return $ bupParams "split" buprepo
+ in bupParams "split" buprepo
(os ++ [Param "-q", Param "-n", Param (bupRef k)] ++ src)
store :: Remote -> BupRepo -> Storer
store r buprepo = byteStorer $ \k b p -> do
- params <- bupSplitParams r buprepo k []
+ let params = bupSplitParams r buprepo k []
+ showOutput -- make way for bup output
let cmd = proc "bup" (toCommand params)
- liftIO $ withHandle StdinHandle createProcessSuccess cmd $ \h -> do
+ runner <- ifM commandProgressDisabled
+ ( return feedWithQuietOutput
+ , return (withHandle StdinHandle)
+ )
+ liftIO $ runner createProcessSuccess cmd $ \h -> do
meteredWrite p h b
return True