bsdiff/bspatch
と xdelta
の2種類がある。
A.binとB.binの差分ファイルを作成する。A.binと差分ファイルから HOGE.binを作成する。 (B.bin == HOGE.bin)
bsdiff
パッチをつくる
$ bsdiff A.bin B.bin patch.bsdiff
パッチをあてる
$ bspatch A.bin HOGE.bin patch.bsdiff
特徴
コマンドが簡単。難しいことは出来ない。Googleが昔使ってた。
xdelta
パッチをつくる
$ xdelta delta A.bin B.bin patch.xdelta
パッチをあてる
$ xdelta patch patch.xdelta A.bin HOGE.bin
パッチの情報を確認する
xdeltaのパッチファイルにはいろいろ情報が詰まっているのだ
$ xdelta info patch.xdelta
特徴
コマンドが長い。どうでもいいオプションがいろいろ設定できる。svnが使ってる。
あと、パッチファイルに互換性は無い。
http://owls-nest.net/blog/show/441
によると、bsdiffの方が差分ファイルが小さく済むらしい。