p4 diff

概要

クライアントワークスペースのファイルをディポ内のリビジョンと比較します。

構文

p4 [g-opts] diff [-doptions] [-f -t -Od] [-m max] [-soptions] [file[rev] …]

解説

p4 diffは、ユーザのワークステーション上で差分プログラムを実行し、ワークスペース内のファイルを、ディポに保存されているリビジョンと比較します。

このコマンドはファイル引数を付けることができます。引数にはリビジョン指定子を含めることができます。引数にリビジョン指定子が含まれていると、クライアントと指定されたリビジョンとの差分を調べることができます。引数にリビジョン指定子が含まれていない場合、クライアントワークスペースのファイルは、現在の編集元のリビジョン(通常は最新リビジョン)と比較されます。いずれの場合でも、クライアントのファイルはコマンドeditで作業状態にされていなければなりません。または、クライアントのファイルが最後に同期したリビジョン以外のリビジョンに対して、この比較が行われなければなりません。

ファイル引数にワイルドカードが含まれている場合は、そのファイルパターンに適合するすべての作業状態のファイルについて差分を調べられます。ファイル引数が与えられていない場合には、すべての作業状態のファイルについてディポの対応するファイルとの差分を調べられます。

デフォルトでは、p4コマンドラインアプリケーションに組み込まれた差分プログラムが使用されます。この差分プログラムを外部の差分プログラムに切り替えるには、その新しいプログラムを指すようにP4DIFF環境変数を設定します

オプション

-doptions

オプションを基本差分ルーチンに渡します。(詳しくは「使用上の留意点」を参照してください。)

-f

クライアントファイルがコマンドeditで作業状態にされていない場合でも、差分比較を強制します。

-m max

max個までの差分(またはステータス)のみを一覧表示します。ただし、-sオプションが使用されている場合-mオプションは無視されます。

-Od

出力を差分のあるファイルのみに限定します。

-soptions

表示オプションを基本差分ルーチンに渡します。(詳しくは「使用上の留意点」を参照してください。)

-t

ファイルがtextタイプでない場合でもリビジョンの差分比較を行います。

g-opts

“グローバルオプション”」を参照してください。

使用上の留意点

ファイル引数にリビジョン指定子を使えるか?

ファイル引数にリビジョン範囲を使えるか?

最低限必要なアクセスレベル

使用可

使用不可

read

  • p4 diffでサポートされている-doptionsは、次のとおりです。

    オプション

    名前

    -db

    空白文字の変更を無視します。このオプションは-dlを含みます。

    -dc[num]

    context形式。変更された行番号の範囲と、その周辺num行分を表示します。

    -dl

    差分を発見したときに行末識別(CR/LF)を無視します。

    -dn

    RCS形式。ファイルに対して行われた追加および削除と、関連した行範囲を表示します。

    -ds

    summary形式。追加、削除および変更されたまとまり(チャンク)と行の数を表示します。

    -du[num]

    unified形式。追加および削除された行を、patch(1)ユーティリティに適した内容でnum行分表示します。

    -dw

    空白文字を完全に無視します。このオプションは-dlを含みます。

  • p4 diffでサポートされている-soptionsは、次のとおりです。

    オプション

    名前

    -sa

    ディポに保存されているリビジョンと異なる作業状態のファイルまたは行方不明の作業状態のファイルの名前だけを表示します。

    -sb

    衝突解決済みであり、反映目的で作業状態にされているが、衝突解決後に変更されているファイルの名前だけを表示します。

    -sd

    クライアントワークスペース内にはないがディポ内にはある、作業状態にないファイルの名前だけを表示します。

    -se

    ディポに保存されているリビジョンと異なる、クライアントワークスペース内の作業状態にないファイルの名前だけを表示します。

    -sl file …

    作業状態でないすべてのfileがディポと比較され、samediff、またはmissingのステータスと共に一覧表示されます。

    -f-slの両方を使用すると、編集目的で作業状態にされたファイルも比較され、そのステータスが一覧表示されます。

    -sr

    ディポに保存されているリビジョンと一致する、クライアントワークスペース内の作業状態にあるファイルの名前だけを表示します。

  • 差分プログラムに複数のオプションを渡す場合は、次の例のようにそれらのオプションをまとめます。例:

    p4 diff -dub file

    この例では、空白文字の変更を無視するunified形式の差分が指定されます。

  • patch(1)で使用するために-duオプションで生成されるunified形式の差分のヘッダ行には、ローカルシンタックスではなくPerforceシンタックスでファイル名が表示されます。

  • リビジョンがファイル指定に含まれている場合は、ファイルがチェンジリストで作業状態であるかどうか、またはワークスペースが指定されたリビジョンに同期されているかどうかにかかわらず、-sオプションによってファイルが比較されます。

p4 diff file#5

ファイルfileのクライアントワークスペースのリビジョンとディポに保存されているリビジョン5を比較します。

p4 diff @1999/05/22

クライアントワークスペースのすべての作業状態のファイルを、1999年5月22日午前0時の時点でディポに保存されていたリビジョンと比較します。

p4 diff -du file

ファイルfileに関する比較を実行し、patch(1)ユーティリティに適した形式で出力します。

p4 diff -sr | p4 -x - revert

作業状態にあって変更されていないファイルをすべて取り消します。

この例では、p4 revert -a(たとえ変更がなくても衝突解決済みのファイルを変更とみなし、すべての未変更のファイルを元に戻す)とは異なり、クライアントワークスペースのファイルの内容が、ディポのファイルの内容と一致していれば元に戻ります。したがって、衝突解決済みであっても、ディポの内容と一致している場合を含みます。

最初のコマンドは、作業状態にあって変更されていないファイルをすべて表示します。2番目のコマンドが(p4 -xを実行し、“-”として省略されている引数を標準入力から1行につき1つずつ受け取り)リストアップされた各ファイルを取り消します。

(これはUNIXの場合のコマンドで、パイプを使用します。ほとんどのオペレーティングシステムは、上記の動作を連続して実行する同等の仕組みを備えています。)

p4に付ける-xオプションについてさらに詳しくは、「“グローバルオプション”」を参照してください。

関連コマンド

ディポのファイルの2つのリビジョンを比較する。

p4 diff2

1つのファイルの全内容を参照する。

p4 print