sync --quiet

* sync: When --quiet is used, run git commit, push, and pull without
  their ususual output.
* merge: When --quiet is used, run git merge without its usual output.

This might also make --quiet work better for some other commands
that make commits, like git-annex adjust.

Sponsored-by: Kevin Mueller on Patreon
This commit is contained in:
Joey Hess 2021-07-19 11:28:31 -04:00
parent f84bd8e921
commit 33a80d083a
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
13 changed files with 124 additions and 65 deletions

View file

@ -43,9 +43,11 @@ module Messages (
setupConsole,
enableDebugOutput,
commandProgressDisabled,
commandProgressDisabled',
jsonOutputEnabled,
outputMessage,
withMessageState,
MessageState,
prompt,
mkPrompter,
) where
@ -276,12 +278,14 @@ debugDisplayer = do
{- Should commands that normally output progress messages have that
- output disabled? -}
commandProgressDisabled :: Annex Bool
commandProgressDisabled = withMessageState $ \s -> return $
case outputType s of
NormalOutput -> concurrentOutputEnabled s
QuietOutput -> True
JSONOutput _ -> True
SerializedOutput _ _ -> True
commandProgressDisabled = withMessageState $ return . commandProgressDisabled'
commandProgressDisabled' :: MessageState -> Bool
commandProgressDisabled' s = case outputType s of
NormalOutput -> concurrentOutputEnabled s
QuietOutput -> True
JSONOutput _ -> True
SerializedOutput _ _ -> True
jsonOutputEnabled :: Annex Bool
jsonOutputEnabled = withMessageState $ \s -> return $