DIFF3(1)

名称
diff3 - 3 つのテキストファイルの差を求める

書式
diff3 [options] mine older yours

解説
diff3 は、 mine, older, yours の 3 つのファイルの間で比較を行い、それらの違いを出力します。

mine, older, yours のうち、 - を指定した所は、ファイルの代りに標準入力から読み込まれます。

  オプション
オプションは以下のものがあります。

--text

-a  テキストファイルでないようなものについても、全てのファイルをテキストと みなして、1 行ずつ比較していきます。

-A  older から yours への変更の全てを、 mine に統合します。同じ行への変更で矛盾が出る部分は、 ブラケット`<<<<<<' `>>>>>>'で囲まれます。

-e

--ed
    older から yours への変更の全てを、 mine に統合するような ed のスクリプトを生成します。

-E  mineとyoursの変更箇所が重複するような行以外は、 -e と同様です。重複する行については、次のように出力されます。

    <<<<<<< mine
    lines from mine
    =======
    lines from yours
    >>>>>>> yours

-3

--easy-only
    mine と yours の変更箇所が重複するような行を出力しない事を除いては、 -e と同等です。

-i  System V との互換のため、 ed のスクリプトの最後に、 w と q を出力します。このオプションは、オプション -AeExX3 のどれか 1 つと組み合わせて使われなけれなまりません。また、オプション -m と組み合わせる事はできません。

-T

--initial-tab
    通常の出力行の前に2文字の空白を入れますが、この代りにタブを入れます。 各行の見た目が、タブ位置に揃います。

-L label

--label=label
    -A, -E , -X の各オプションで出力されるブラケットの部分に出力されるファイル名の代りに label で指定したラベルを使用します。このオプションは、 mine, older, yours の 3 つのファイルに対応して、3 回指定する事ができます。 3 つのファイル、A, B, C があった時、 diff3 -L X -L Y -L Z -m A B C として実行した場合は、 diff3 -m A B C と実行した時、ファイル名 A, B, C が出力される代りに、ラベル X, Y, Z が出力されます。

-m

--merge
    mine を生成するエディットスクリプトをつくり、結果を標準出力に送ります。 diff3 の出力を ed にパイプでつなぐのと異なり、行になっていないバイナリファイルに対しても適用 できます。エディットスクリプトのオプションが指定されていない場合は、 -A として処理します。

-x

--overlap-only
    mine と yours の変更箇所が重複する行だけを出力する点を除いて、 -e と同様です。

-X  mine と yours の変更箇所が重複する行だけを出力する点を除いて、 -E と同等です。

--show-all
    older から yours への変更を mine に統合します。重複する部分は、 ブラケット`<<<<<<' `>>>>>>'で囲まれます。

-v

--version
    本プログラムのバージョンを表示します。

戻り値
diff3 が成功した場合は 0 を、なんらかの矛盾が発見された場合は 1 を、何かエラーが おきた場合は 2 を返します。

関連項目
cmp(1), comm(1), diff(1), ed(1), patch(1), sdiff(1).