From 6c8393e16f5f652e53e333281ac382bddccb430c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 30 Dec 2014 12:49:34 -0400 Subject: Run shutdown cleanup actions even if there were failures processing the command. Amoung other fixes, this means that addurl will stage added files even if adding one of the urls fails. --- CmdLine/Action.hs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'CmdLine') diff --git a/CmdLine/Action.hs b/CmdLine/Action.hs index db4f768ac..65cdbec14 100644 --- a/CmdLine/Action.hs +++ b/CmdLine/Action.hs @@ -17,13 +17,14 @@ import qualified Annex.Queue type CommandActionRunner = CommandStart -> CommandCleanup {- Runs a command, starting with the check stage, and then - - the seek stage. Finishes by printing the number of commandActions that - - failed. -} -performCommandAction :: Command -> CmdParams -> Annex () -performCommandAction Command { cmdseek = seek, cmdcheck = c, cmdname = name } params = do + - the seek stage. Finishes by running the continutation, and + - then showing a count of any failures. -} +performCommandAction :: Command -> CmdParams -> Annex () -> Annex () +performCommandAction Command { cmdseek = seek, cmdcheck = c, cmdname = name } params cont = do mapM_ runCheck c Annex.changeState $ \s -> s { Annex.errcounter = 0 } seek params + cont showerrcount =<< Annex.getState Annex.errcounter where showerrcount 0 = noop -- cgit v1.2.3