pyinvoke / invoke

Pythonic task management & command execution.
http://pyinvoke.org
BSD 2-Clause "Simplified" License
4.32k stars 365 forks source link

Fix nested merge in _task_with_merged_config #889

Open alexandre-perrin opened 1 year ago

alexandre-perrin commented 1 year ago

Currently, _task_with_merged_config returns a single level merged dict. Howerver, if the config contains nested dicts, only the first level gets merged, removing eventual fields non defined in origin config.

This aims to recursively merge config when retrieving the task config, and to unify how collection configs are merged.

alexandre-perrin commented 1 year ago

Fixes https://github.com/pyinvoke/invoke/issues/782