p4 diff2
2つのディポパスの内容を比較するdiffユーティリティです(ワークスペースとディポの内容の比較については、p4 diffを参照してください)。
比較元のファイルと比較先のファイルは、コマンドラインを使用して指定することも、ブランチビューを使用して指定することもできます。
また、-Asオプションを使用して、2つのストリーム仕様を比較することもできます。
構文規則
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 [g-opts] diff2 [-doptions] -As streamname1[@change1] streamname2[@change2]
ディポの内容に関する説明
p4 diff2は、 Perforceサービスに組み込まれている差分ルーチンを使用して、 ディポ内の2つのファイルリビジョンを比較します。 これらのリビジョンは、通常は同じファイルの2つのバージョンですが、 まったく別々のファイルのリビジョンであることも可能です。 ファイルリビジョンがファイル引数として明示されていない場合は、 最新リビジョンが使用されます。
- 何も引数を指定しなかった場合、現在のストリームがその親ストリームに対して 比較されます。
- ファイル名を指定した場合、現在のストリーム内に存在するそのファイルが、 親ストリーム内に存在する同じファイルに対して比較されます。
2つのファイルは、両方ともテキストファイルまたはUnicodeファイルでなければなりません。テキストファイルをUnicodeファイルと比較することはできません。
p4 diff2はHelixサーバで実行されるため、クライアント環境変数P4DIFF
を無視します。
特定のファイルを指定する代わりに、ファイルパターンを指定することができます。
この場合、リビジョン指定子は指定してもしなくてもかまいません。
Helixサーバにより、指定したパターンに一致する各ファイルペアについて
差分が確認されます。
p4 diff2
にファイルパターンを指定して実行する場合は、
引用符またはバックスラッシュを使用し、ファイルパターンをOSシェルから
エスケープしてください。
Helixサーバは、次のような形式のヘッダが前に付加された UNIXの差分フォーマットで差分を提示します。ヘッダは次のようにフォーマットされます。
==== file1 (filetype1) - file2 (filetype2) ==== summary
summaryの有効な値とその意味は、次のとおりです。
- content: ファイルリビジョンの内容が異なっている。
- types: リビジョンの内容は同じであるが、 ファイルタイプが異なっている。
- identical: リビジョンの内容もファイルタイプも 同じである。
指定されたバージョンのfile1とfile2がどちらも存在しない場合は、
ヘッダのsummaryが<none>
として表示されます。
ディポの内容に関するオプション
|
ブランチマッピングを使用して、2つのブランチされたコードラインのファイルの差分比較を行います。
比較するファイルは、 |
|
標準的なUNIXの差分オプションの1つで差分ルーチンを実行します。 これらのオプションの一覧については、 「使用上の注意点」を参照してください。 |
|
出力を差分のあるファイルのみに限定します。 |
|
差分比較の出力を最低限に抑えます。
file1とfile2がまったく同じである場合は、
出力として「 |
|
ストリームをその親と比較します。設定された親以外のストリームと比較する場合は、
|
|
ファイルが |
|
追加行と削除行を表示してunified出力形式を生成し、
データ内容を |
|
「グローバルオプション」を参照してください。 |
ストリーム仕様に関する説明
2つのストリーム仕様を比較することができます。例えば、変更1のmyStreamと変更2のyourStreamを比較するには、以下のように指定します。
p4 diff2 -As myStream@1 yourStream@2
また、保留中のストリーム仕様を比較するには、以下のように指定します。
p4 diff2 -As myStream@=1 yourStream@=2
ストリーム仕様のオプション
2つのストリーム仕様を指定して相互に比較することができます。
|
標準的なUNIXの差分オプションの1つで差分ルーチンを実行します。 これらのオプションの一覧については、 「使用上の注意点」を参照してください。 |
|
このオプションは、2つのストリーム仕様を指定して相互に比較する場合に使用します。このオプションは、ストリーム名とともに指定することも、特定のチェンジリスト番号のストリーム名とともに指定することもできます。 警告
制限事項: このオプションを使用する場合は、ストリームパスに対するlistアクセス権以上の権限が必要になりますが、プロテクションテーブル内のそれ以外の項目については、マイナス符号(-)を含めてすべて無視されます(通常は、マイナス符号によって操作がブロックされます)。 |
|
「グローバルオプション」を参照してください。 |
使用上の注意点
ファイル引数でリビジョン指定子を使用できるか? | ファイル引数でリビジョン範囲を使用できるか? | 最低限必要なアクセスレベル |
---|---|---|
はい |
いいえ |
比較対象の両方のファイルに対するreadアクセス権が必要になります。 -Asオプションを使用する場合は、listアクセス権が必要になります。 |
-
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形式の差分が指定されます。
patch(1)
を使用するために-du
オプションで生成される unified形式のヘッダ行では、差分ファイルを Helixサーバシンタックスで表示します。 ローカルシンタックスではありません。-
p4 diff2
を使用して、binary
ファイルの差分比較を実行したとします。... files differ ...
一致しない場合は、上記の行が表示されます。
-b
オプションを使用すると、branch[[fromfile[rev]]
tofile[rev]]
fromfile
のファイルパターンとtofile
のリビジョン、 またはfromfile
のリビジョンとtofile
のファイルパターンを指定できるようになります。- ファイル内のRCSキーワードは
p4 diff2
によって拡張されません。
例
|
ファイル |
|
チェンジリスト34のサブミット後にディポにあった |
|
|
|
許可されていません。両方のファイルパターンのワイルドカードが一致する必要があります。 |
|
|
関連コマンド
クライアントワークスペースのファイルとディポに保存されたファイルのリビジョンを比較する |
|
1つのファイルのすべての内容を参照する |