Jared Deckard added the comment:

That is correct. (Thank you for whipping up a repro script from my description).

I appreciate the work around, but it is nearly as verbose as manually 
duplicating the parameters on the child and I would have to type up a large 
comment block to educate future developers on the hack.

Is there some documentation I am missing or is the "resolve" conflict handler 
broken?

> The parents= argument takes a list of ArgumentParser objects, collects all 
> the positional and optional actions from them, and adds these actions to the 
> ArgumentParser object being constructed.
https://docs.python.org/3.6/library/argparse.html#parents

It would be nice if the "error" conflict handler ignored conflicts when the 
actions are identical.

It should be expected that the "resolve" conflict handler would not modify the 
parents. It is exhibiting undocumented and undesirable side effect, which 
indicates to me that it is a bug not a missing feature.

As for the patch, I'm not sure why you would ever want "action_copy" to be 
False. It seems like creating copies to insulate the originals ignores the 
underlying issue that these parents are being mutated when the operation 
implies a union of properties with no side effects.

I don't think the fix for this should be behind an optional flag, I think the 
fix is to update "resolve" to take into consideration multiple parents like the 
custom conflict handler in your sample.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue22401>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to