p4 diff2
概要
ディポのファイルの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 diff2は、Perforceサービスに組み込まれた差分ルーチンを使用して、ディポ内のファイルの2つのリビジョンを比較します。これらのリビジョンは、通常は同じファイルの2つのバージョンですが、全く別々のファイルのリビジョンであることも可能です。ファイルリビジョンがファイル引数として明示されていない場合は、最新リビジョンが使用されます。
p4 diff2は環境変数P4DIFF
によって指定された差分プログラムを使用しません。p4 diff2が使用する差分アルゴリズムは、共有Perforceサーバのホストマシン上で実行され、常にサービスに組み込まれた差分ルーチンを使用します。
ファイルを特定する代わりに、ファイルパターンを引数に指定することができ、リビジョン指定子も使えます。このため、Perforceは与えられたパターンに適合する個々のファイルの組について、何度も差分比較を実行できます。p4 diff2にファイルパターンを付けて実行する場合は、クォーテーションマークまたはバックスラッシュを用いてファイルパターンをOSシェルからエスケープし、2つのファイルパターンの中のワイルドカードを一致させてください。
Perforceは、次のような形式のヘッダが前に付加されたUNIXの差分フォーマットで差分を提示します。ヘッダーは次のようにフォーマットされます。
====file1
(filetype1
) -file2
(filetype2
) ====summary
summary
の取り得る値とその意味は次のとおりです。
-
content
: ファイルリビジョンの内容が異なります。 -
types
: リビジョンの内容は同じですが、ファイルタイプが異なります。 -
identical
: リビジョンの内容もファイルタイプも同じです。
file1
またはfile2
のいずれかが指定のリビジョンに存在しない場合は、ヘッダのsummary
の位置に<none>
と表示されます。
オプション
|
ブランチマッピングを用いて2つのブランチされたコードラインのファイルの差分比較を行います。比較するファイルは、 |
|
標準的なUNIXの差分オプションのサブセットの1つで差分ルーチンを実行します。標準差分オプションの種類については、「使用上の留意点」のセクションを参照してください。 |
|
出力を差分のあるファイルのみに限定します。 |
|
差分比較の出力を最低限に抑えます。ヘッダのみを表示します。 |
|
ストリームをその親と比較します。設定された親以外のストリームと比較する場合は、 |
|
ファイルが |
|
追加行と削除行を表示して統一出力フォーマットを生成し、データ内容を |
|
「“グローバルオプション”」を参照してください。 |
使用上の留意点
ファイル引数にリビジョン指定子を使えるか? |
ファイル引数にリビジョン範囲を使えるか? |
最低限必要なアクセスレベル |
---|---|---|
使用可 |
使用不可 |
比較する双方のファイルに対して |
-
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
file1
file2
この例では、空白文字の変更を無視するunified形式の差分が指定されます。
-
patch(1)
を使用するために-du
オプションで生成されるunified形式のヘッダ行では、差分ファイルをPerforceシンタックスで表示します。ローカルシンタックスではありません。 -
p4 diff2を
binary
ファイルの差分比較に使用したときは、一致しなければ、... files differ ...
という行が表示されます。
-
オプション
-b
branch
[
は、一見すると不適切のように見えます。ブランチマッピングは[fromfile[rev]]
tofile[rev]
]fromfiles
からtofiles
までマッピングしているので、fromfile
とtofile
の両方のファイルパターンを指定する必要はありません。しかし、この構文を使うと、fromfile
のファイルパターンとtofile
のリビジョン、またはfromfile
のリビジョンとtofile
のファイルパターンを指定することが可能になります。 -
ファイル内のRCSキーワードはp4 diff2によって拡張されません。
例
p4 diff2 -ds file#1 file |
ファイル |
p4 diff2 file@34 file@1998/12/04 |
チェンジリスト34のサブミット後にディポにあった |
p4 diff2 //depot/rel1/... //depot/rel2/...#4 |
|
p4 diff2 //depot/rel1/* //depot/rel2/... |
認められていません。両方のファイルパターンのワイルドカードが一致する必要があります。 |
p4 diff2 -b branch2 //depot/rel2/...#2 @50 |
|