[PATCH] patman: Fix defaults not propegating to subparsers
Sean Anderson
sean.anderson at seco.com
Fri Apr 22 18:50:17 CEST 2022
On python 3.8.10, subparsers are not updated with defaults. I suspect
this is related to [1]. Fix this by explicitly updating subparsers with
settings.
[1] https://github.com/python/cpython/issues/89398
Fixes: 3145b63513 ("patman: Update defaults in subparsers")
Signed-off-by: Sean Anderson <sean.anderson at seco.com>
---
tools/patman/settings.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/tools/patman/settings.py b/tools/patman/settings.py
index 7c2b5c196c..658fe12be5 100644
--- a/tools/patman/settings.py
+++ b/tools/patman/settings.py
@@ -246,8 +246,10 @@ def _UpdateDefaults(main_parser, config):
# Collect the defaults from each parser
defaults = {}
+ parser_defaults = []
for parser in parsers:
pdefs = parser.parse_known_args()[0]
+ parser_defaults.append(pdefs)
defaults.update(vars(pdefs))
# Go through the settings and collect defaults
@@ -264,8 +266,10 @@ def _UpdateDefaults(main_parser, config):
else:
print("WARNING: Unknown setting %s" % name)
- # Set all the defaults (this propagates through all subparsers)
+ # Set all the defaults (this does NOT propagate through all subparsers)
main_parser.set_defaults(**defaults)
+ for parser, pdefs in zip(parsers, parser_defaults):
+ parser.set_defaults(**{ k: v for k, v in defaults.items() if k in pdefs})
def _ReadAliasFile(fname):
"""Read in the U-Boot git alias file if it exists.
--
2.35.1.1320.gc452695387.dirty
More information about the U-Boot
mailing list