特定の変更リストがあり、コマンドラインから、その変更リストの一部であったすべてのファイルを一覧表示します。どうすればいいですか?
それが describe コマンドです。特定のチェンジリストを説明するには、p4 describe <changelist number>
。
更新:
ファイル名のみが必要な場合は、 ファイル コマンドと-Fオプションを使用して、出力形式をオーバーライドできます:p4 -Ztag -F "%depotFile%" files @=<changelist>
-Fオプションの詳細については、 http://www.perforce.com/blog/130826/fun-formatting を参照してください。
ser114245 は最良の回答を提供しましたが、コメントのみでした。可視性を高め、少し改善するための答えとして追加しています。
変更12345の場合、これは、p4
コマンド
p4 files @=12345
この出力のみを提供します
//depot/file1#3 - delete change 3 (text)
//depot/file2#3 - edit change 3 (text)
//depot/file5#1 - add change 3 (text)
各ファイルに関する余分な情報を削除する場合は、コマンドラインのツールを使用してその出力を処理する必要があります。標準的なunixy環境を想定すると、次のように単一のsed
コマンドを使用できます
p4 files @=12345 | sed s/#.*//
望ましい結果を得るために
//depot/file1
//depot/file2
//depot/file5
現在受け入れられている答え マイクによる
p4 describe 12345
これにより、出力にこの余分な詳細がすべて表示されます
Change 12345 by day@client1 on 2013/06/21 00:25:28
Some example changes
Affected files ...
... //depot/file1#3 delete
... //depot/file2#3 edit
... //depot/file5#1 add
Differences ...
==== //depot/file2#3 (text) ====
1c1
< This is file 2
---
> This is file 2 - edited
Doug's answer によって改善されました。grepとawkを使用してノイズを除去し、ファイルを変更したままにしますが、コマンドは非常に長くなります。
p4 describe -s 12345 | grep '^\.\.\.' | awk '{print $2}'
私はここで与えられた解決策がよりきれいだと思います。
マイク・オコナーの答えも私を助けてくれました。
変更されたファイルのリストを取得するだけでは、これほど簡単ではないでしょうか?
p4 describe -s {change number} | grep '^\.\.\.' | awk '{print $2}'
それは私が使用するつもりです。
チェンジリストがまだ保留中の場合は、p4 opened
またはp4 opened -c <changeListNumber>
特定の(未送信の)チェンジリスト番号。
公式ドキュメント から:「保留中のチェンジリストで開いているファイルを一覧表示します。」
p4変更-o
最後にファイルのリストがあります。