Simon, On Wed, 25 Nov 2020 at 00:41, Simon Glass <[email protected]> wrote: > > > Project defaults (e.g. for linux and gcc) do not propagate into the > > subparsers. As both the processing of tags (e.g. in the defaults > > for the linux project) and supressing the signoff (in the defaults > > for the gcc project) are settings from subparsers, these would still > > require an explicit commandline option mirroring the (ignored) default. > > > > This change ensures that defaults are updated in all parsers. > > > > Signed-off-by: Philipp Tomsich <[email protected]> > > --- > > > > tools/patman/settings.py | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/tools/patman/settings.py b/tools/patman/settings.py > > index bb3f868..dc57b2f 100644 > > --- a/tools/patman/settings.py > > +++ b/tools/patman/settings.py > > @@ -266,7 +266,8 @@ def _UpdateDefaults(main_parser, config): > > print("WARNING: Unknown setting %s" % name) > > > > # Set all the defaults (this propagates through all subparsers) > > - main_parser.set_defaults(**defaults) > > + for parser in parsers: > > + parser.set_defaults(**defaults) > > According to the Python documentation and my testing, it should > propagate. Do you know what is going wrong here? If there is a > problem, we should update the comment.
I haven't dug down to find the root-cause, but I see the following behavior both on Debian 10.6 and CentOS 7 when adding a print(args) in main.py just before the __name__ == "__main__" check... With this commit: $ tools/patman/patman -p linux -c1 send -n Namespace(add_maintainers=True, branch=None, cc_cmd=None, check_patch=True, cmd='send', count=1, debug=False, dest_branch=None, dry_run=True, end=0, force=False, full_help=False, ignore_bad_tags=False, ignore_binary=False, ignore_errors=False, in_reply_to=None, limit=None, patchfiles=['linux'], patchwork_url='https://patchwork.ozlabs.org', process_tags=False, project='linux', show_comments=False, smtp_server=None, start=0, testname='linux', thread=False, verbose=False) => process_tags=False Without this commit: Namespace(add_maintainers=True, branch=None, cc_cmd=None, check_patch=True, cmd='send', count=1, debug=False, dest_branch=None, dry_run=True, end=0, force=False, full_help=False, ignore_bad_tags=False, ignore_binary=False, ignore_errors=False, in_reply_to=None, limit=None, patchfiles=[], patchwork_url='https://patchwork.ozlabs.org', process_tags=True, project='linux', show_comments=False, smtp_server=None, start=0, testname='linux', thread=False, verbose=False) => process_tags=True So in my testing, the problem reproduces reliably across distributions. Regards, Philipp

