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

p4 diff2 (グラフ)

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

構文

p4 diff2 [options] fromFile[@sha1|@reference] tofile[@sha1|@reference]

説明

p4 diff2をサーバで実行すると、特定のグラフリポジトリファイルセット(「反映元」)と別のグラフレポファイルセット(「反映先」)が比較されます。 反映元ファイルセットと反映先ファイルセットは、「p4 diff2」コマンドラインで指定できます。

fromFiletoFileには、@sha1指定子または@reference指定子を含めることができます。 デフォルトでは、最新リビジョンが比較されます。

このコマンドは比較対象の各ファイルの前に指定します。

比較対象の各ファイルは次の形式のヘッダ行で指定します。

==== source#rev (type) - target#rev (type) ==== summary

反映元ファイルまたは反映先ファイルが「<none>」として表示される場合は、指定した名前のファイルが存在しないか、対応するファイルのリファレンスが存在しません。 概要を示すステータスは次のようになります。identicalはファイルの内容とタイプが同じであることを意味し、typesはファイルの内容は同じだがタイプが異なることを意味し、contentは内容が異なることを意味します。

オプション

-doptions

標準的なUNIXの差分オプションの1つで差分ルーチンを実行します。

-Od

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

-q

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

-u

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

  • 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形式の差分が指定されます。

  • -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 //repo/main/src/...@00662f4 //repo/main/src/...@refs/heads/bugfix

@00662f4はSHA-1コミットを表し、refs/heads/bugfixはブランチを表します。 出力には、現在ブランチに存在するファイルと、コミットに存在するファイルの違いが表示されることがあります。

==== //repo/main/src/chat.c#1e7637e (text) - //repo/main/src/chat.c#1e7637e (text) ==== identical
==== //repo/main/src/db.c#6950848 (text) - //repo/main/src/db.c#2ab62af (text) ==== content
2,3d1
< Additional database code.
< Add Btree code
==== //repo/main/src/main.c#184e90a (text) - //repo/main/src/main.c#5a8f6ff (text) ==== content
3d2
< Enable additional database code.

#numberはSHA-1コミットに関連付けられているファイルのblob SHA-1を表しています。