suppress "(Recording state in git)" message when committing change to remote state
This was shown redundantly for a tricky reason -- while it runs inside a doSideAction block that would appear to supress it, the action being run is in a different state monad; for the remote, and so the suppression doesn't work. Always suppressing the message when committing to a local remote is ok do to though -- it mirrors the /dev/nulling of the git annex shell commit output. And it turns out that any time there is a git-annex branch state change to commit on the remote, the local repo has also had a similar change made, and so the message has been shown already.
This commit is contained in:
parent
ebbd24e5ed
commit
37ef39c929
2 changed files with 12 additions and 3 deletions
12
Messages.hs
12
Messages.hs
|
@ -14,6 +14,7 @@ module Messages (
|
|||
MeterUpdate,
|
||||
showSideAction,
|
||||
doSideAction,
|
||||
doQuietSideAction,
|
||||
showStoringStateAction,
|
||||
showOutput,
|
||||
showLongNote,
|
||||
|
@ -91,12 +92,19 @@ showSideAction m = Annex.getState Annex.output >>= go
|
|||
showStoringStateAction :: Annex ()
|
||||
showStoringStateAction = showSideAction "Recording state in git"
|
||||
|
||||
{- Performs an action, supressing showSideAction messages. -}
|
||||
doQuietSideAction :: Annex a -> Annex a
|
||||
doQuietSideAction = doSideAction' InBlock
|
||||
|
||||
{- Performs an action, that may call showSideAction multiple times.
|
||||
- Only the first will be displayed. -}
|
||||
doSideAction :: Annex a -> Annex a
|
||||
doSideAction a = do
|
||||
doSideAction = doSideAction' StartBlock
|
||||
|
||||
doSideAction' :: SideActionBlock -> Annex a -> Annex a
|
||||
doSideAction' b a = do
|
||||
o <- Annex.getState Annex.output
|
||||
set $ o { sideActionBlock = StartBlock }
|
||||
set $ o { sideActionBlock = b }
|
||||
set o `after` a
|
||||
where
|
||||
set o = Annex.changeState $ \s -> s { Annex.output = o }
|
||||
|
|
|
@ -310,7 +310,8 @@ commitOnCleanup r a = go `after` a
|
|||
go = Annex.addCleanup (Git.repoLocation r) cleanup
|
||||
cleanup
|
||||
| not $ Git.repoIsUrl r = liftIO $ onLocal r $
|
||||
Annex.Branch.commit "update"
|
||||
doQuietSideAction $
|
||||
Annex.Branch.commit "update"
|
||||
| otherwise = void $ do
|
||||
Just (shellcmd, shellparams) <-
|
||||
git_annex_shell r "commit" []
|
||||
|
|
Loading…
Reference in a new issue