mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-10 12:47:04 +00:00
Ansible's copy action runs one stat and one file module per file of a directory source even when nothing changed, about 0.6 s each over SSH. The echoserver deploy paid it on 31 branding renders and the docs tooling tree (~770 s and 169.5 s, deploy -9). Before falling through to the stock copy, hash the tree locally and compare it with one file_checksums call on the target; when every file matches in type, content and mode, return the stock copy's unchanged result. Any difference, symlink, empty directory, owner or symbolic mode falls through to the stock copy unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>