diff --git a/lib/ansible/modules/extras/files/archive.py b/lib/ansible/modules/extras/files/archive.py index 87840ec07cd..3b4a512ba4f 100644 --- a/lib/ansible/modules/extras/files/archive.py +++ b/lib/ansible/modules/extras/files/archive.py @@ -223,7 +223,11 @@ def main(): if os.path.isdir(path) and not path.endswith(os.sep + '.'): basename = os.path.basename(path) + os.sep - archive.add(path, path[len(arcroot):], filter=lambda f: f if f.name != creates else None) + filter_create = lambda f: + if filecmp.cmp(f.name, creates): + return f + + archive.add(path, path[len(arcroot):], filter=filter_create) successes.append(path) # Slightly more difficult (and less efficient!) compression using zipfile module