ExAthena.Tools.ApplyPatch (ExAthena v0.7.1)

Copy Markdown View Source

Apply a unified diff patch across one or more files atomically.

All hunks across all files are validated in memory first (pure-Elixir backend) before any file is written to disk — partial mutations on error are impossible.

Backend selection:

  • Inside a git work-tree: delegates to git apply --whitespace=nowarn, which is itself atomic on failure.
  • Otherwise: pure-Elixir two-pass parser/applier.

v1 limitations: no binary diffs, no /dev/null create/delete hunks, no fuzzy context matching.