# xdiff

# はじめに

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

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

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

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

- インストール/設定
  - 要件
  - インストール手順
- 定義済み定数
- xdiff 関数
  - xdiff_file_bdiff — 2 つのファイルのバイナリ diff を作成する
  - xdiff_file_bdiff_size — バイナリ diff を適用して作成するファイルのサイズを読み込む
  - xdiff_file_bpatch — ファイルにバイナリ diff 形式のパッチを適用する
  - xdiff_file_diff — 2 つのファイルの unified diff を作成する
  - xdiff_file_diff_binary — xdiff_file_bdiff のエイリアス
  - xdiff_file_merge3 — 3 つのファイルをひとつに統合する
  - xdiff_file_patch — ファイルに unified diff 形式のパッチを適用する
  - xdiff_file_patch_binary — xdiff_file_bpatch のエイリアス
  - xdiff_file_rabdiff — 2 つのファイルのバイナリ diff を、Rabin の polynomial fingerprinting アルゴリズムで作成する
  - xdiff_string_bdiff — 2 つの文字列のバイナリ diff を作成する
  - xdiff_string_bdiff_size — バイナリ diff を適用して作成するファイルのサイズを読み込む
  - xdiff_string_bpatch — 文字列にバイナリ diff 形式のパッチを適用する
  - xdiff_string_diff — 2 つの文字列の unified diff を作成する
  - xdiff_string_diff_binary — xdiff_string_bdiff のエイリアス
  - xdiff_string_merge3 — 3 つの文字列をひとつに統合する
  - xdiff_string_patch — 文字列に unified diff 形式のパッチを適用する
  - xdiff_string_patch_binary — xdiff_string_bpatch のエイリアス
  - xdiff_string_rabdiff — 2 つの文字列のバイナリ diff を、Rabin の polynomial fingerprinting アルゴリズムで作成する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open