機械制御/振動騒音
IR情報 会社情報

PERFORCEテクニカルノート043

image_toyo_ss_img_perforce_title_perforce.gif.gif
テクニカルノート043  
image_toyo_ss_img_all_line_yellow.gif.gif
image_toyo_common_spacer.gif.gif
ラベル間の変更箇所
image_toyo_common_spacer.gif.gif
タスク
image_toyo_common_spacer.gif.gif
2つのラベル間における変更箇所を知るにはどうすればよいでしょうか
image_toyo_common_spacer.gif.gif
解決策
image_toyo_common_spacer.gif.gif
image_toyo_common_spacer.gif.gif
ファイル名の相違
image_toyo_common_spacer.gif.gif
2つのラベル間でどのファイルが異なっているかを確認するには、まず、ラベルの内容(つまり、ラベルを構成するファイル・リビジョンのリスト)を 2つのテキスト・ファイルに出力します。
image_toyo_common_spacer.gif.gif
	p4 files //...@label > label.out
	p4 files //...@label2 > label2.out
image_toyo_common_spacer.gif.gif
次に、label.out と label2.out の 2つの出力ファイルを比較します。これにより、2つのラベル間(の異なるリビジョン)で変更されているファイル、および一方のラベルにあるが他方のラベルにはないファイルが表示されます。
image_toyo_common_spacer.gif.gif

image_toyo_common_spacer.gif.gif
	p4diff.exe label.out label2.out (Windows)
	diff label.out label2.out  (unix)
image_toyo_common_spacer.gif.gif
ファイル内容の相違
image_toyo_common_spacer.gif.gif
ラベルに含まれているファイルについて実際の内容の相違箇所を表示するには、次のコマンドを使用します。
image_toyo_common_spacer.gif.gif
	p4 diff2 //...@label1 //...@label2
image_toyo_common_spacer.gif.gif
この出力をファイルに送りたいと考えるかもしれませんが、ファイルが大きくなる可能性があります。
image_toyo_common_spacer.gif.gif
上記のコマンドは、一方のラベルには存在するが他方には存在しないファイルについて出力を生成します。その内容は次のように表示されます。
image_toyo_common_spacer.gif.gif
	====  - //depot/test/file#1 ====
image_toyo_common_spacer.gif.gif
チェンジリストの相違
image_toyo_common_spacer.gif.gif
label1 と label2 との間でどのチェンジリストがサブミットされたかを大まかに把握するには、各ラベルで最大のチェンジリスト番号を取得し、次にその範囲内のチェンジリストのうちラベル・ビュー内のファイルに影響を与えたものをリストします。
image_toyo_common_spacer.gif.gif
	p4 changes -m1 @label1       [これが200であると仮定]
	p4 changes -m1 @label2       [これが250であると仮定]
	p4 changes //labelview/...@201,@250
image_toyo_common_spacer.gif.gif
labelview には、ラベル仕様の"View"フィールドにリストされているパスを使用します。
image_toyo_common_spacer.gif.gif
label1 が適用されているファイルの中に label2 が適用されているファイルよりも新しいファイルがある一方、label2 が適用されているファイルの中にlabel1 が適用されているファイルよりも新しいファイルがある場合、または "View:" フィールドが両ラベル間で異なる場合、上記コマンドの結果は、やや不正確になります。
image_toyo_common_spacer.gif.gif
注意
image_toyo_common_spacer.gif.gif
最後に、次のコマンドは期待どおりに動作しないため、使用しないでください。
image_toyo_common_spacer.gif.gif
	p4 changes @label1,@label2
image_toyo_common_spacer.gif.gif
上記のコマンドでは、一方のラベルに存在するが他方には存在しないファイルへの変更が含まれません。したがって、追加や削除が実行されたことによって、ファイルが両方のラベルに同時にリストされていない場合や、二番目のラベルに一番目のラベルと同じかそれより大きいリビジョンが含まれていない場合、上記のコマンドでは完全にそれらのファイルが無視されてしまいます。
image_toyo_common_spacer.gif.gif
以下に例を示します。
image_toyo_common_spacer.gif.gif
	@label1 - foo#2
	@label2 - foo#1

	p4 changes @label1,@label2
	[出力結果なし]

	p4 changes @label2,@label1
	Change 17 on 2008/05/05 by marc@fasty
image_toyo_common_spacer.gif.gif
:ラベルが関係する場合、PERFORCE のリビジョン範囲はファイルの共通集合に作用します。
image_toyo_common_spacer.gif.gif
:P4V にフォルダ差分の機能が追加されたことに伴い、二つのラベルの差分を GUI で表示できるようになりました。
P4V において[ツール]>[比較]を選択し、P4V の[差分]ダイアログを開きます。[差分]ダイアログで、[リビジョンを指定]ラジオボタンを選択する前に、[1番目のパス]および[2番目のパス]に適切なパスを入力します。このラジオボタンの選択によって、ラベル仕様の名前を入力しなくても、ドロップダウンのリストからラベル名を選択できるようになります。二つのラベルを決定した後、[差分]ボタンをクリックすることによって、二つのラベルの差分を表示します。
image_toyo_common_spacer.gif.gif
image_toyo_ss_img_all_btn_yellow_bgwhite2.gif.gif戻る

PAGE TOP