xdelta
xdelta は、2つのファイルの差分を生成するコマンド行プログラム。diff と patch に似ているが、バイナリファイルを対象とするものであって、人間が読めるような出力は生成しない。
作者 | Joshua MacDonald |
---|---|
初版 | 1997年10月12日 |
最新版 |
3.1.0
/ 2016年1月8日 |
リポジトリ | |
プログラミング 言語 | C言語 |
対応OS | Unix系, Microsoft Windows, macOS |
ライセンス | Apache-2.0 |
公式サイト | https://xdelta.org/ |
1997年に最初にリリースされた[1]。開発者は 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 バイトまでのファイルを問題なく扱え[2]、大規模バックアップファイルに適している。
xdelta の出力するパッチファイルは ZIP などで2次圧縮すると圧縮率が向上する。VCDIFF の仕様でもそのような使われ方を想定した物となっている。
xdelta3 の出力するパッチファイルの一般的な拡張子は .xd3。
xdelta3のGUI版としてはDeltaPatcher[3]がある。
関連項目
編集脚注
編集外部リンク
編集- 公式ウェブサイト
- Andrew Tridgell's PHD on rsync, with a section on xdelta (xdelta1 のアルゴリズム)
- RFC 3284, VCDIFF標準差分符号化フォーマットの仕様 (xdelta3)