display "Recording state in git..." when staging the journal

A bit tricky to avoid printing it twice in a row when there are queued git
commands to run and journal to stage.

Added a generic way to run an action that may output multiple side
messages, with only the first displayed.
This commit is contained in:
Joey Hess 2012-04-27 13:23:52 -04:00
parent e0b7012ccc
commit 76102c1c75
8 changed files with 72 additions and 27 deletions

View file

@ -26,15 +26,14 @@ add command params files = do
flushWhenFull :: Annex ()
flushWhenFull = do
q <- get
when (Git.Queue.full q) $ flush False
when (Git.Queue.full q) flush
{- Runs (and empties) the queue. -}
flush :: Bool -> Annex ()
flush silent = do
flush :: Annex ()
flush = do
q <- get
unless (0 == Git.Queue.size q) $ do
unless silent $
showSideAction "Recording state in git"
showStoringStateAction
q' <- inRepo $ Git.Queue.flush q
store q'