How to build a `Git diff` driver
5 hours ago
- #openapi
- #git-diff
- #version-control
- Git diff drivers allow using external tools to compare files when textconv is insufficient for more complex outputs.
- The external tool receives 7 arguments from git diff: filename, before file path, before SHA-1, before mode, after file path, after SHA-1, after mode.
- /dev/null and '.' are used as placeholders for new or deleted files, indicating creation or deletion scenarios.
- A basic wrapper script for oasdiff demonstrates handling file addition, deletion, and generating colored changelogs for OpenAPI specs.
- Additional considerations include checking GIT_PAGER_IN_USE for compatibility and potentially caching diffs using SHA-1 checksums.