改代码时,传统 Git diff 像拿两份文稿逐行找不同:文字还算好用,遇到图片、压缩包或 PDF,就很难说明内容究竟变了什么。Hacker News 获得 163 分的开源工具 OmniDiff,想把这件事做得更像“看懂后再比较”。它是一款 difftool——由 Git 调用的外部差异查看器,不替代版本历史,而是把变化呈现得更容易读。
OmniDiff 会先识别文件类型,再选择相应的内容专用算法。例如,代码按结构比较,图片和归档文件则不再被机械地当作普通文本。项目作者称,它能处理 99.95% 的代码变化,其中 98.8% 会使用内容专用算法;在测试中,98% 的代码比较耗时低于 100 毫秒,70% 被评为“完全准确”,92% 达到“接近完全准确”。这些数字来自项目自测,速度测试使用一台配备 Intel Core i7-1370P 和 32 GB 内存的 T14s。工具本身用 Rust——一种强调内存安全和运行性能的系统编程语言——开发。它值得关注的地方不只是更漂亮的界面,而是把差异查看从“哪些行变了”,推进到“文件内容发生了什么变化”。