はじめに

xdiff 拡張モジュールを使用すると、 異なるリビジョンのファイルの差分を含むパッチファイルの作成やその適用ができるようになります。

この拡張モジュールは、文字列に対する操作とファイルに対する操作の 2 通りのモードに対応しています。また、unified 形式とバイナリ形式の 2 通りのパッチフォーマットに対応しています。 Unified 形式のパッチはテキストファイルに最適です。 人間が読みやすい形式であることから、容易にレビューできるようになります。 アーカイブファイルや画像ファイルなどのバイナリファイルの場合は バイナリ形式を使うのがよいでしょう。この形式はバイナリセーフであり、 非表示文字も扱えるからです。

バージョン 1.5.0 以降、バイナリ形式のパッチを作成するための方法が 2 通り用意されています。新しい関数である xdiff_string_rabdiff()xdiff_file_rabdiff() の出力は、 以前の関数と互換性のあるものとなります。 しかし、より高速でよりサイズが小さいものとなります。 どのようにバイナリパッチを作成しているのかや これまでの関数とどのように違うのかといった情報については » libxdiff のウェブサイトを参照ください。

この拡張モジュールは、libxdiff を用いてこれらの機能を実装しています。 詳細な情報は » http://www.xmailserver.org/xdiff-lib.html を参照ください。