Helix Core P4コマンドリファレンス (2019.1)

p4 diff2

2つのディポパスの内容を比較するdiffユーティリティです。 (ワークスペースとディポの内容の比較については、p4 diffを参照してください。)

比較元のファイルと比較先のファイルは、コマンドラインを使用して指定することも、ブランチビューを使用して指定することもできます。

構文

p4 [g-opts] diff2 [-doptions] [-Od -q -t -u] file1[rev] file2[rev]
p4 [g-opts] diff2 [-doptions] [-Od -q -t -u] -b branch [[fromfile[rev]] 
                   tofile[rev]]
p4 [g-opts] diff2 [-doptions] [-Od -q -t -u] [-S stream] [-P parent] 
                   [[fromfile[rev]] tofile[rev]]

説明

p4 diff2は、Perforceサービスに組み込まれている差分ルーチンを使用して、ディポ内の2つのファイルリビジョンを比較します。 これらのリビジョンは、通常は同じファイルの2つのバージョンですが、全く別々のファイルのリビジョンであることも可能です。 ファイルリビジョンがファイル引数として明示されていない場合は、最新リビジョンが使用されます。

  • 何も引数を指定しなかった場合、現在のストリームがその親ストリームに対して比較されます。
  • ファイル名を指定した場合、現在のストリーム内に存在するそのファイルが、親ストリーム内に存在する同じファイルに対して比較されます。
ヒント

p4 diff2Helixサーバで実行されるため、クライアント環境変数P4DIFFを無視します。

特定のファイルを指定する代わりに、ファイルパターンを引数として指定できます。リビジョン指定子を指定することもできます。 Helixサーバは指定されたパターンに適合するファイルのペアについて個々に比較を実行します。 p4 diff2にファイルパターンを指定して実行する場合は、引用符またはバックスラッシュを使用し、ファイルパターンをOSシェルからエスケープしてください。

Helixサーバは、次のような形式のヘッダが前に付加されたUNIXの差分フォーマットで差分を提示します。 ヘッダは次のようにフォーマットされます。

==== file1 (filetype1) - file2 (filetype2) ==== summary

summaryの有効な値とその意味は、次のとおりです。

  • content: ファイルリビジョンの内容が異なっている。
  • types: リビジョンの内容は同じであるが、ファイルタイプが異なっている。
  • identical: リビジョンの内容もファイルタイプも同じである。

指定されたバージョンのfile1file2がどちらも存在しない場合は、ヘッダのsummary<none>として表示されます。

オプション

-b branchfrom[rev]to[rev]

ブランチマッピングを使用して、2つのブランチされたコードラインのファイルの差分比較を行います。 比較するファイルは、fromまたはtoのファイル指定によるファイルパターンで制限することができます。

-doptions

標準的なUNIXの差分オプションの1つで差分ルーチンを実行します。 これらのオプションの一覧については、「使用上の留意点」を参照してください。

-Od

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

-q

差分比較の出力を最低限に抑えます。 file1file2がまったく同じである場合は、出力として「file1 - no differing files」のみが表示されます。

-S stream [-P parent]

ストリームをその親と比較します。 設定された親以外のストリームと比較する場合は、-Pを指定します。

-t

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

-u

追加行と削除行を表示してunified出力形式を生成し、データ内容をpatch(1)ユーティリティに対応させます。 相違箇所のあるファイルのみが含まれます。 ファイル名および日付はHelixサーバ構文のままになります。

g-opts

詳細については、「グローバルオプション」を参照してください。

使用上の留意点

ファイル引数にリビジョン指定子を使えるか? ファイル引数にリビジョン範囲を使えるか? 最低限必要なアクセスレベル

使用可

使用不可

比較する双方のファイルに対するread

  • p4 diff2がサポートしている差分オプションは、次のとおりです。

    オプション 名前

    -dn

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

    -dc[num]

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

    -ds

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

    -du[num]

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

    -dl

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

    -db

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

    -dw

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

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

    $ p4 diff2 -dub file1file2

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

  • -duを使用するためにpatch(1)オプションで生成されるunified形式のヘッダ行では、差分ファイルをHelixサーバシンタックスで表示します。ローカルシンタックスではありません。
  • p4 diff2を使用して、binaryファイルの差分比較を実行したとします。

    ... files differ ...

    一致しない場合は、上記の行が表示されます。

  • -b branch[[fromfile[rev]]tofile[rev]]オプションを使用すると、fromfileのファイルパターンとtofileのリビジョン、またはfromfileのリビジョンとtofileのファイルパターンを指定できるようになります。
  • ファイル内のRCSキーワードはp4 diff2によって拡張されません。

p4 diff2 -ds file#1 file

ファイルfileの最初のリビジョンとその最新リビジョンを比較し、どのかたまり(チャンク)が追加され、削除され、変更されたかのサマリを表示します。

p4 diff2 file@34 file@1998/12/04

チェンジリスト34のサブミット後にディポにあったfileのリビジョンと、1998年12月4日午前0時時点のディポのリビジョンの差分比較を行います。

p4 diff2 //depot/rel1/... //depot/rel2/...#4

//depot/rel1のすべてのファイルの最新リビジョンと//depot/rel2のすべてのファイルのリビジョン4を比較します。

p4 diff2 //depot/rel1/* //depot/rel2/...

許可されていません。 両方のファイルパターンのワイルドカードが一致する必要があります。

p4 diff2 -b branch2 //depot/rel2/...#2 @50

//depot/rel2/...内のファイルの2番目のリビジョンと そこからブランチマッピングbranch2によってブランチされたファイルのチェンジリスト50におけるリビジョンとを比較します。

関連コマンド

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

p4 diff

1つのファイルのすべての内容を参照する

p4 print