Xdelta

xdelta は、2つのファイルの差分を生成するコマンド行プログラム。diff と patch に似ているが、バイナリファイルを対象とするものであって、人間が読めるような出力は生成しない。

1997年に最初にリリースされたmention of first version。開発者は Joshua MacDonald で、保守も当人が行っている。

xdelta1 は、Andrew Trigell が開発した rsync のアルゴリズムに基づいていて、rsync よりも小さなブロックサイズ（16, 32バイトなど）を利用し圧縮していた。xdelta1ではブロックサイズ分はマッチする必要があったが、xdelta3 は VCDIFF に基づいており、4バイト以上マッチするところを見つけ出して、圧縮している。xdelta1 と xdelta3 は全く互換性がなく、API も1から書き換えられていて、Linux のディストリビューションでも別々に登録されている。

最新版の xdelta3 にはいくつかユニークな機能がある。標準のVCDIFF形式 () の出力を生成でき、VCDIFF形式をサポートする他の差分符号化ソフトウェアと互換性を実現した。UNIX、Linux、BSD、Microsoft Windows、macOS で動作する。xdelta はどのプラットフォーム上でも最大 264 バイトまでのファイルを問題なく扱えxdelta3 memory tuning、大規模バックアップファイルに適している。

xdelta の出力するパッチファイルは ZIP などで2次圧縮すると圧縮率が向上する。VCDIFF の仕様でもそのような使われ方を想定した物となっている。

xdelta3 の出力するパッチファイルの一般的な拡張子は .xd3。

xdelta3のGUI版としてはDeltaPatcherhttps://github.com/marco-calautti/DeltaPatcherがある。

 関連項目 
差分符号化

 脚注 

 外部リンク 

 Andrew Tridgell's PHD on rsync, with a section on xdelta (xdelta1 のアルゴリズム)
 , VCDIFF標準差分符号化フォーマットの仕様 (xdelta3)

Category:アプリケーションソフト (製品)
Category:オープンソースソフトウェア
Category:データ差分
Category:Cでプログラムされた自由ソフトウェア
Category:C++でプログラムされた自由ソフトウェア