私たちのチームメンバーの1人(別の地域にいる)は、チェンジリスト1234でP4の変更を棚上げしました。
さて、どのファイルが変更されているかを確認したい場合、どのように変更されますか?これを行うにはどうすればよいですか?
チームメンバーによって行われた変更を確認するために使用する必要があるP4コマンドは何ですか?
p4 describe -S 1234
トリックする必要があります、describeのドキュメントを参照してください。
ファイルの内容を表示するには、ファイルをワークスペースにアンシェルフします(同僚が作業しているのと同じプロジェクトのワークスペースがあると仮定します)。
p4 change
(結果は2345など)を使用して新しい(空の)チェンジリストを作成し、p4 unshelve
(docu)を使用して変更されたファイルをワークスペースに取得します。
p4 unshelve -s 1234 -c 2345
ワークスペースで変更されたファイルが不要になった場合は、変更できp4 revert -c 2345
ます。
GUIを使用して、[保留中]に移動し、他の開発者のIDを配置するユーザー以外のすべてのフィルターを削除します。そこから、ファイルを棚上げしたものを含む、彼女のチェンジリストを見ることができるはずです。[棚上げファイル]アイコンを右クリックして、[棚上げ解除]を選択します。棚上げを解除しようとしているファイルを含むワークスペースをアクティブにする必要があります。
UIクライアントを使用して、Ctrl+Gを押します。ダイアログウィンドウが表示されます。コンボボックスでチェンジリストを選択し、チェンジリストの番号を入力します。
チェンジリスト123456が問題の棚上げされたチェンジリストであると仮定しましょう。前に述べたように、ファイルをリストする方法は、そのチェンジリストに関連付けられていますp4 describe -s <changelist>
。コマンドを使用します。そのようです:
$ p4 describe -s 123456
Change 123456 by john.doe@JohnsBranch on 2013/10/24 15:38:10 *pending*
[Shelving my changes for Jane.]
Fix memory corruption caused by uninitialized pointer.
Affected files ...
... //depot/branches/JohnsBranch/kernel/vm/pageutils.c#1 edit
問題のファイルがわかったら、対応するワークスペースなしでファイルを比較する方法がいくつかあります。方法#1は使用することp4 print
です:
$ p4 print -q //depot/branches/JohnsBranch/kernel/vm/pageutils.c#1 > /tmp/old
$ p4 print -q //depot/branches/JohnsBranch/kernel/vm/pageutils.c@=123456 > /tmp/new
$ diff /tmp/old /tmp/new # Or use kdiff3, tkdiff, etc.
...
<diff output here>
もう1つの方法は、次を使用することp4 diff2
です。
$ p4 diff2 //depot/branches/JohnsBranch/kernel/vm/pageutils.c#1 //depot/branches/JohnsBranch/kernel/vm/pageutils.c@=123456
...
<diff output here based on Perforce server's diff algorithm>
どちらの方法も、選択したスクリプト言語に簡単に組み込むことができます。
ファイルの差分を確認したい場合は、jhwistのソリューションが適しています。
棚上げされたファイルだけを表示したい場合は、を使用してくださいp4 describe -sS 1234
。
小文字s
は、出力にファイル差分が含まれないように制限します。
ファイルの実際の内容を確認したい場合は、次を使用できます。
p4 print <file>@=<shelved_change>
@ =は棚上げされた変更を確認することを意味し、@は変更を確認することを意味します。
ChangeList内のファイルのリストのみ(棚、保留中、または送信済みのCL)を追加データなしで表示したい場合は、結果をgrepします。
p4 describe -S 12345 | grep -oP '(?=//).*(?=#)'
P4V UIで、[
Search - > Go To
次に、チェンジリストのタイプ(この場合は「保留中のチェンジリスト」)を選択し、チェンジリスト番号を入力して「OK」をクリックします。