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
This commit is contained in:
Joey Hess 2023-07-31 13:06:40 -04:00
parent 846384fc3a
commit 473d66132d
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
2 changed files with 12 additions and 7 deletions

View file

@ -1,6 +1,6 @@
{- git-annex debugging
-
- Copyright 2021 Joey Hess <id@joeyh.name>
- Copyright 2021-2023 Joey Hess <id@joeyh.name>
-
- 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

View file

@ -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