mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Only show diff when the task actually induced a change
This implements solution #1 in the proposal #14860. It only shows the diff if the task induced a change, which means that if the changed_when control overrides the task, not diff will be produced. See #14860 for a rationale and the use-case.
This commit is contained in:
parent
49bb4803b5
commit
f5b6f52940
1 changed files with 2 additions and 2 deletions
|
@ -150,11 +150,11 @@ class CallbackModule(CallbackBase):
|
||||||
def v2_on_file_diff(self, result):
|
def v2_on_file_diff(self, result):
|
||||||
if result._task.loop and 'results' in result._result:
|
if result._task.loop and 'results' in result._result:
|
||||||
for res in result._result['results']:
|
for res in result._result['results']:
|
||||||
if 'diff' in res and res['diff']:
|
if 'diff' in res and res['diff'] and res.get('changed', False):
|
||||||
diff = self._get_diff(res['diff'])
|
diff = self._get_diff(res['diff'])
|
||||||
if diff:
|
if diff:
|
||||||
self._display.display(diff)
|
self._display.display(diff)
|
||||||
elif 'diff' in result._result and result._result['diff']:
|
elif 'diff' in result._result and result._result['diff'] and result._result.get('changed', False):
|
||||||
diff = self._get_diff(result._result['diff'])
|
diff = self._get_diff(result._result['diff'])
|
||||||
if diff:
|
if diff:
|
||||||
self._display.display(diff)
|
self._display.display(diff)
|
||||||
|
|
Loading…
Reference in a new issue