initial implementation of --explain
Currently it only displays explanations of options like --in and --copies. In the future, it should explain preferred content expression evaluation and other decisions. The explanations of a few things could be better. In particular, "standard" will just appear as-is (or as "!standard" if it doesn't match), rather than explaining why the standard preferred content expression for the group matches or not. Currently as implemented, it goes to stdout, and so commands like git-annex find that have custom output will not display --explain information. Perhaps that should change, dunno. Sponsored-by: Dartmouth College's DANDI project
This commit is contained in:
parent
cf40e2d4b6
commit
f25eeedeac
12 changed files with 122 additions and 46 deletions
|
@ -59,6 +59,11 @@ commonOptions =
|
|||
<> help "show debug messages coming from the specified module"
|
||||
<> hidden
|
||||
)
|
||||
, annexFlag (setexplain True)
|
||||
( long "explain" <> short 'd'
|
||||
<> help "explain why git-annex does what it does"
|
||||
<> hidden
|
||||
)
|
||||
]
|
||||
where
|
||||
setforce v = setAnnexRead $ \rd -> rd { Annex.force = v }
|
||||
|
@ -82,5 +87,9 @@ commonOptions =
|
|||
decodeBS (debugfilterconfig <> "=") ++ v
|
||||
]
|
||||
|
||||
setexplain v = mconcat
|
||||
[ setAnnexRead $ \rd -> rd { Annex.explainenabled = v }
|
||||
]
|
||||
|
||||
(ConfigKey debugconfig) = annexConfig "debug"
|
||||
(ConfigKey debugfilterconfig) = annexConfig "debugfilter"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue