14.1 diff3 のオプション

GNU diff3 が受け付けるすべてのオプションを以下にまとめます。引数を取らない1文字のオプションは、複数をコマンドラインの1つの引数にまとめられます。

-a
--text

テキストに見えないファイルも含め、すべてのファイルをテキストとして扱い、行単位で比較します。バイナリファイルとテキスト比較の強制を参照してください。

-A
--show-all

older から yours への、まだマージされていないすべての変更を mine に取り込み、競合を境界行で囲みます。競合を表示するを参照してください。

--diff-program=program

ファイル比較に diff の代わりに互換性のある比較プログラム program を使います。

-e
--ed

older から yours へのすべての変更を mine に取り込む ed スクリプトを生成します。取り込む変更を選択するを参照してください。

-E
--show-overlap

-e と同様ですが、重なり合う変更の第1ファイルと第3ファイルの内容を境界行で囲みます。競合を表示するを参照してください。-E を指定した場合、重なり合う変更は次のようになります。

<<<<<<< mine
lines from mine
=======
lines from yours
>>>>>>> yours
--help

使用方法の概要を出力して終了します。

-i

System V との互換性のため、ed スクリプトの末尾に「w」と「q」コマンドを生成します。このオプションは -AeExX3 のいずれかと組み合わせる必要があり、-m とは組み合わせられません。変更したファイルを保存するを参照してください。

--label=label

-A、-E、-X オプションが出力する境界行のラベルに label を使います。各入力ファイルに1回ずつ、最大3回指定できます。デフォルトのラベルは入力ファイル名です。このため「diff3 --label X --label Y --label Z -m A B C」は「diff3 -m A B C」と同様に動作しますが、出力上は「A」、「B」、「C」ではなく「X」、「Y」、「Z」という名前のファイルから来たように見えます。競合を表示するを参照してください。

-m
--merge

編集スクリプトを第1ファイルへ適用し、結果を標準出力へ送ります。diff3 の出力を ed にパイプする場合と違い、バイナリファイルや不完全な行でも動作します。編集スクリプトのオプションを指定しなければ -A が仮定されます。マージ結果を直接生成するを参照してください。

--strip-trailing-cr

入力行末尾のキャリッジリターンを除去します。バイナリファイルとテキスト比較の強制を参照してください。

-T
--initial-tab

通常形式で、行のテキストの前に2つの空白の代わりにタブを出力します。これによって行内のタブによる整列が通常どおりに見えます。タブ位置の整列を維持するを参照してください。

-v
--version

バージョン情報を出力して終了します。

-x
--overlap-only

-e と同様ですが、重なり合う変更だけを出力します。取り込む変更を選択するを参照してください。

-X

-E と同様ですが、重なり合う変更だけを出力します。つまり -x と同様ですが、-E のように変更を境界行で囲みます。競合を表示するを参照してください。

-3
--easy-only

-e と同様ですが、重ならない変更だけを出力します。取り込む変更を選択するを参照してください。