Make --debug also enable debugging in child git-annex processes
Especially necessary with stalldetection using child processes for transfers. This commit was sponsored by Jack Hill on Patreon.
This commit is contained in:
parent
1ddaa6b541
commit
5545e78a1e
4 changed files with 19 additions and 7 deletions
|
@ -69,7 +69,8 @@ gitAnnexChildProcess subcmd ps f a = do
|
|||
{- Parameters to pass to a git-annex child process to run a subcommand
|
||||
- with some parameters.
|
||||
-
|
||||
- Includes -c values that were passed on the git-annex command line.
|
||||
- Includes -c values that were passed on the git-annex command line
|
||||
- or due to --debug being enabled.
|
||||
-}
|
||||
gitAnnexChildProcessParams :: String -> [CommandParam] -> Annex [CommandParam]
|
||||
gitAnnexChildProcessParams subcmd ps = do
|
||||
|
|
|
@ -15,6 +15,7 @@ git-annex (8.20210311) UNRELEASED; urgency=medium
|
|||
* unregisterurl: Fix a bug that caused an url to not be unregistered
|
||||
when it is claimed by a special remote other than the web.
|
||||
* Work around some buggy webdav server behavior involving renaming files.
|
||||
* Make --debug also enable debugging in child git-annex processes.
|
||||
|
||||
-- Joey Hess <id@joeyh.name> Fri, 12 Mar 2021 12:06:37 -0400
|
||||
|
||||
|
|
|
@ -1,20 +1,25 @@
|
|||
{- common command-line options
|
||||
-
|
||||
- Copyright 2010-2011 Joey Hess <id@joeyh.name>
|
||||
- Copyright 2010-2021 Joey Hess <id@joeyh.name>
|
||||
-
|
||||
- Licensed under the GNU AGPL version 3 or higher.
|
||||
-}
|
||||
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
module CmdLine.Option where
|
||||
|
||||
import Options.Applicative
|
||||
|
||||
import Annex.Common
|
||||
import CmdLine.Usage
|
||||
import CmdLine.GlobalSetter
|
||||
import qualified Annex
|
||||
import Types.Messages
|
||||
import Types.DeferredParse
|
||||
import Types.GitConfig
|
||||
import Git.Types (ConfigKey(..))
|
||||
import Git.Config
|
||||
import Utility.FileSystemEncoding
|
||||
|
||||
-- Global options accepted by both git-annex and git-annex-shell sub-commands.
|
||||
commonGlobalOptions :: [GlobalOption]
|
||||
|
@ -39,12 +44,12 @@ commonGlobalOptions =
|
|||
<> help "allow verbose output (default)"
|
||||
<> hidden
|
||||
)
|
||||
, globalFlag setdebug
|
||||
, globalFlag (setdebug True)
|
||||
( long "debug" <> short 'd'
|
||||
<> help "show debug messages"
|
||||
<> hidden
|
||||
)
|
||||
, globalFlag unsetdebug
|
||||
, globalFlag (setdebug False)
|
||||
( long "no-debug"
|
||||
<> help "don't show debug messages"
|
||||
<> hidden
|
||||
|
@ -59,5 +64,8 @@ commonGlobalOptions =
|
|||
setforce v = Annex.changeState $ \s -> s { Annex.force = v }
|
||||
setfast v = Annex.changeState $ \s -> s { Annex.fast = v }
|
||||
setforcebackend v = Annex.changeState $ \s -> s { Annex.forcebackend = Just v }
|
||||
setdebug = Annex.overrideGitConfig $ \c -> c { annexDebug = True }
|
||||
unsetdebug = Annex.overrideGitConfig $ \c -> c { annexDebug = False }
|
||||
-- Overriding this way, rather than just setting annexDebug
|
||||
-- makes the config be passed on to any git-annex child processes.
|
||||
setdebug b = Annex.addGitConfigOverride $ decodeBS' $
|
||||
debugconfig <> "=" <> boolConfig' b
|
||||
(ConfigKey debugconfig) = annexConfig "debug"
|
||||
|
|
|
@ -24,3 +24,5 @@ I'm on RHEL7 and this problem is present in git master for me ever since the int
|
|||
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
|
||||
|
||||
I've written ESRPs and recovered many lost files =)
|
||||
|
||||
> [[fixed|done]] --[[Joey]]
|
||||
|
|
Loading…
Reference in a new issue