Xdelta
xdelta は、2つのファイルの差分を生成するコマンド行プログラム。diff と patch に似ているが、バイナリファイルを対象とするものであって、人間が読めるような出力は生成しない。
1997年に最初にリリースされた。開発者は Joshua MacDonald で、保守も当人が行っている。
xdelta1 は、Andrew Trigell が開発した rsync のアルゴリズムに基づいていて、rsync よりも小さなブロックサイズ（16, 32バイトなど）を利用し圧縮していた。xdelta1ではブロックサイズ分はマッチする必要があったが、xdelta3 は VCDIFF に基づいており、4バイト以上マッチするところを見つけ出して、圧縮している。xdelta1 と xdelta3 は全く互換性がなく、API も1から書き換えられていて、Linux のディストリビューションでも別々に登録されている。
最新版の xdelta3 にはいくつかユニークな機能がある。標準のVCDIFF形式 (RFC 3284) の出力を生成でき、VCDIFF形式をサポートする他の差分符号化ソフトウェアと互換性を実現した。UNIX、Linux、BSD、Microsoft Windows、macOS で動作する。xdelta はどのプラットフォーム上でも最大 264 バイトまでのファイルを問題なく扱え、大規模バックアップファイルに適している。
xdelta の出力するパッチファイルは ZIP などで2次圧縮すると圧縮率が向上する。VCDIFF の仕様でもそのような使われ方を想定した物となっている。
xdelta3 の出力するパッチファイルの一般的な拡張子は .xd3。