diff options
author | Joey Hess <joeyh@joeyh.name> | 2016-09-09 16:05:45 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2016-09-09 16:05:45 -0400 |
commit | c5ff422786d7a25a0b2d5680d9b85b5ff27ebd46 (patch) | |
tree | ef34e1075352ac5feef2ccdd73c08c53f6143d07 /Messages | |
parent | d1f722e3b0b74a9d9a2e35ac1f47dbca9f7cf606 (diff) |
make --json-progress update meter when getting from git remote with rsync
Diffstat (limited to 'Messages')
-rw-r--r-- | Messages/Progress.hs | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/Messages/Progress.hs b/Messages/Progress.hs index 39709a211..14aebe6c9 100644 --- a/Messages/Progress.hs +++ b/Messages/Progress.hs @@ -74,13 +74,17 @@ metered othermeter key a = case keySize key of Nothing -> m Just om -> combineMeterUpdate m om -{- Use when the progress meter is only desired for concurrent - - output; as when a command's own progress output is preferred. -} -concurrentMetered :: Maybe MeterUpdate -> Key -> (MeterUpdate -> Annex a) -> Annex a -concurrentMetered combinemeterupdate key a = - withMessageState $ \s -> if concurrentOutputEnabled s - then metered combinemeterupdate key a - else a (fromMaybe nullMeterUpdate combinemeterupdate) +{- Use when the command's own progress output is preferred. + - The command's output will be suppressed and git-annex's progress output + - used for concurrent output, and json progress. -} +commandMetered :: Maybe MeterUpdate -> Key -> (MeterUpdate -> Annex a) -> Annex a +commandMetered combinemeterupdate key a = + withMessageState $ \s -> case outputType s of + JSONOutput True -> usemeter + NormalOutput | concurrentOutputEnabled s -> usemeter + _ -> a (fromMaybe nullMeterUpdate combinemeterupdate) + where + usemeter = metered combinemeterupdate key a {- Poll file size to display meter, but only for concurrent output. -} concurrentMeteredFile :: FilePath -> Maybe MeterUpdate -> Key -> Annex a -> Annex a |