揮発性のメモ2

http://d.hatena.ne.jp/iww/

バイナリ差分をとる

bsdiff/bspatchxdelta の2種類がある。
A.binB.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の方が差分ファイルが小さく済むらしい。