From 473d66132df00cfcc8f958611f229b60b88be92c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 31 Jul 2023 13:06:40 -0400 Subject: [PATCH] display explanations in --debug too When --explain is not enabled. This can be useful debugging information as well. Sponsored-by: Dartmouth College's DANDI project --- Annex/Debug.hs | 10 +++++++--- Messages.hs | 9 +++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Annex/Debug.hs b/Annex/Debug.hs index f3626ffaa1..fb7d7eef77 100644 --- a/Annex/Debug.hs +++ b/Annex/Debug.hs @@ -1,6 +1,6 @@ {- git-annex debugging - - - Copyright 2021 Joey Hess + - Copyright 2021-2023 Joey Hess - - Licensed under the GNU AGPL version 3 or higher. -} @@ -10,6 +10,7 @@ module Annex.Debug ( DebugSource(..), debug, fastDebug, + fastDebug', configureDebug, debugSelectorFromGitConfig, parseDebugSelector, @@ -27,5 +28,8 @@ import Annex.Debug.Utility fastDebug :: DebugSource -> String -> Annex.Annex () fastDebug src msg = do rd <- Annex.getRead id - when (Annex.debugenabled rd) $ - liftIO $ Utility.Debug.fastDebug (Annex.debugselector rd) src msg + fastDebug' rd src msg + +fastDebug' :: Annex.AnnexRead -> DebugSource -> String -> Annex.Annex () +fastDebug' rd src msg = when (Annex.debugenabled rd) $ + liftIO $ Utility.Debug.fastDebug (Annex.debugselector rd) src msg diff --git a/Messages.hs b/Messages.hs index 96c087e911..3bf1256ee1 100644 --- a/Messages.hs +++ b/Messages.hs @@ -303,10 +303,11 @@ jsonOutputEnabled = withMessageState $ \s -> return $ explain :: ActionItem -> Maybe StringContainingQuotedPath -> Annex () explain ai (Just msg) = do rd <- Annex.getRead id - when (Annex.explainenabled rd) $ - let d = actionItemDesc ai - in outputMessage JSON.none id $ - "[ " <> (if d == mempty then "" else (d <> " ")) <> msg <> " ]\n" + let d = actionItemDesc ai + let msg' = "[ " <> (if d == mempty then "" else (d <> " ")) <> msg <> " ]\n" + if Annex.explainenabled rd + then outputMessage JSON.none id msg' + else fastDebug' rd "Messages.explain" (decodeBS (noquote msg')) explain _ _ = return () {- Prevents any concurrent console access while running an action, so -- 2.30.2