p4 fstat
概要
ファイル情報をスクリプトによる構文解析に適したフォーマットにダンプします。
構文
p4 [g-opts
] fstat [-F filter
] [-L -r -U] [-T fields
] [-m max
] [-c|-e change
]
[-Ox
-Rx
-Sx
] [-A pattern
] file
[rev
]...
解説
p4 fstatコマンドは、個々のファイルに関する情報を項目ごとに別々の行に分けてダンプします。この出力は、各項目が変数としてアクセス可能なPerforce APIアプリケーションでの使用に最適ですが、スクリプトによる構文解析にも適しています。
ファイルの出力をmax
個までに限定するには、-m
オプションを使用します。
max
出力のソート基準となるフィールドを変更するには-S
オプションのうち1つを使用し、ソート順序を逆にするにはx
-r
オプションを使用します。
フォームフィールドの一部の機能に基づいて出力を絞り込むには(例えば、一定の大きさを超え、固有のファイルタイプを持つすべてのファイルなど)-F
オプションを使用します。
filter
fields
引数に指定されたフィールドの集合に出力を限定するには、-T
オプションを使用します。フィールド名のリストはスペースまたはカンマで区切ることができます。
fields
ヘッドタイプのフィールド、たとえばheadTime
は、ファイル引数に与えられたファイルリビジョンの情報を返します。特定のリビジョンが指定されていない場合、最新リビジョンの情報を返します。
フォームフィールド
表示されるフィールドは、選択したファイルによって異なります。
フィールド名 |
解説 |
例/備考 |
---|---|---|
|
名前に関する属性値 |
|
|
|
|
|
ファイルのローカルパス。(デフォルトはローカルシンタックス。 |
(または、Perforceシンタックスでは |
|
ファイルのディポパス。 |
|
|
移動元、移動先ファイルのディポ内での名前 |
|
|
ファイルのローカルパス |
|
|
追加用にファイルが作業状態になって、現在のクライアントワークスペースにマップされている場合に設定。 |
|
|
ファイルが保留されている場合に設定。 |
|
|
(ディポ内の)最新リビジョンで実行されたアクション。 |
|
|
(ディポ内の)最新リビジョンのチェンジリスト番号。 |
|
|
(ディポ内の)最新リビジョンの番号。 |
|
|
(ディポ内の)最新リビジョンのタイプ。 |
|
|
最新リビジョンの文字セット |
unicodeファイル |
|
(ディポ内の)最新リビジョンのチェンジリストの日付。時刻は1970年1月1日の00:00:00 UTCからの秒数で測定。 |
|
|
(ディポ内の)最新リビジョンの更新時刻(クライアントにおいてサブミット前にファイルが最後に更新された時刻)。 |
|
|
移動されたファイルの最新リビジョン |
|
|
最後にワークスペースに同期した(ワークスペース上にある)リビジョン。 |
|
|
チェンジリストのコメント( |
Perforceのチェンジリスト |
|
ファイルのMD5ダイジェスト( |
32桁の16進数 |
|
ファイルのバイト数( |
|
|
(ワークスペースで)ファイルを作業状態にしたアクション。 |
|
|
(ワークスペース上で)作業状態になっているファイルのタイプ。 |
Perforceファイルタイプ |
|
作業状態になっているファイルの文字セット |
(unicodeファイル) |
|
ファイルを作業状態にしたユーザ(ファイルが作業状態になっている場合) |
Perforceユーザ名 |
|
(ワークスペース上で)作業状態になっているチェンジリストの番号 |
|
|
衝突解決済みの反映記録の数(該当の場合) |
|
|
衝突未解決の反映記録の数(該当の場合)。 |
|
|
再度衝突解決が可能な反映記録の数(該当の場合) |
|
|
同じファイルを作業状態にしている他のユーザの数。該当するユーザがいない場合は空白。 |
|
|
同じファイルを作業状態にしている個々のユーザに対し、そのファイルを作業状態にしているワークスペースとユーザを表示。 |
|
|
他のユーザがファイルをロックしている場合に表示されて空文字に設定され、それ以外の場合は非表示。 |
|
|
同じファイルをロックしている個々のユーザに対し、そのロックを保持しているクライアントとユーザを表示。 |
一度に1ユーザのみファイルのロックが可能であるため、 |
|
同じファイルを作業状態にしている個々のユーザに対し、行われたアクションを表示。 |
|
|
ファイルを作業状態にしているすべてのチェンジリストに対し、そのチェンジリストを表示。 |
75612 |
|
ファイルが作業状態にされているすべてのチェンジリストについて、名前に関する属性値。 |
|
|
|
|
|
現在のユーザがファイルをロックしている場合に表示されて空文字に設定され、それ以外の場合は非表示。 |
|
|
それぞれ作業中の、反映操作、ベースファイル、ベースリビジョン番号、反映元ファイル、開始リビジョン、終了リビジョン。 |
作業中の反映記録情報には、 |
|
調べたファイルの数。 |
|
オプション
|
表示される属性を、指定された |
|
指定のチェンジリスト番号以降に影響を受けたファイルのみを表示します。この操作は、影響を受けたファイルのリビジョン範囲を使用するより早く行うことができます。 |
|
指定のチェンジリスト番号により影響を受けたファイルのみを表示します。このオプションは、影響を受けたファイルのリビジョン範囲を指定するより早く行うことができます。 |
|
|
|
スクリプト作成のため、ファイル引数リストについてのファイル情報を、有効なリビジョン番号とあわせて完全なディポシンタックスでレポートします。 |
|
fstatの出力を |
|
p4 attributeによって設定された属性を出力します。 |
|
属性の要約を出力します。 |
|
16進数でエンコードされた属性値を出力します。 |
|
指定されたファイルのすべてのリビジョンについて、 |
|
p4 fstat -e |
|
|
|
現在ワークスペースで作業状態になっているファイルの作業中の反映記録データを表示します。 |
|
クライアントワークスペースデータ(すなわち |
|
出力を逆順でソートます。 |
|
出力を、現在のワークスペースにマッピングされているファイルに制限します。 |
|
出力を、haveリストのファイル、すなわち現在のワークスペースに同期されているファイルに制限します。 |
|
出力を、最新リビジョンではないリビジョンで作業状態になっているファイルに制限します。 |
|
出力を、現在のワークスペースで作業状態のファイルに制限します。 |
|
出力を、衝突解決済みの作業状態のファイルに制限します。 |
|
出力を、保留中のファイルに制限します。
p4 fstat -e |
|
出力を、衝突未解決の作業状態のファイルに制限します。 |
|
日付でソートします。 |
|
所有リビジョンでソートします。 |
|
最新リビジョンでソートします。 |
|
ファイルサイズでソートします。 |
|
ファイルタイプでソートします。 |
|
|
|
データを表示する際にアンロードディポ内のファイルを含みます。詳しくは、p4 unloadをご覧ください。 |
|
「“グローバルオプション”」を参照してください。
|
使用上の留意点
ファイル引数にリビジョン指定子を使えるか? |
ファイル引数にリビジョン範囲を使えるか? |
最低限必要なアクセスレベル |
---|---|---|
使用可 |
使用可 |
|
p4 fstatコマンドで唯一必要な引数は、file[rev]
引数です。その他のすべてのオプションは、操作を行うファイルのセットの制限、または選択ファイルの情報の量または表示の制御に関連しています。
フィルタ
ファイルのリストを、特定の基準を満たすファイルに限定するには、p4 fstat -F filter
を使用します。p4 fstatにより表示されるどのフォームフィールドでも、論理演算子の使用が可能です。通常の比較演算子(=
、>
、<
、>=
、<=
)も使用可能です。正規表現マッチングは、正規表現マッチング演算子(~=
)によりサポートされています。
次のフィルタ式は、headType
フィールドがtext
に設定されている、特定のサイズのファイルをフィルタします。
-F "fileSize > 100000 & headType=text"
fstat
に使用されるフィルタは大文字と小文字が区別されます。スペースで区切られたすべての英数文字列(句読記号が埋め込まれた単語を含む)は、単語として索引付けされます。
フィルタ内で検索語の間にスペースがあると、ブール演算子のANDとして扱われます。任意のキーと値のペアを含むファイルを検索するには(ブール演算子OR)、それぞれの語を"|
"の文字で区切ります。
アンパーサンド(&
)文字もブールのANDとして使用可能です。ブール演算子は(高優先度から低優先度の順に) &
、|
、スペースの順で値を結合します。グループ化の優先順位を変更するには、括弧を使用します。
さらに、NOT演算子(^
)を使用して、一部の比較の意味を打ち消すことができます。
検索結果は、特定フィールド内の値をフィルタシンタックス“
”によりマッチングすることで絞り込みが可能です。fieldname
=value
value
は英数字および句読記号を含む単一の字句でなければなりません。
ワイルドカード"*
"により、語の部分マッチングが可能です。フィルタ“
*”は“fieldname
=stringstring
”、“stringy
”、“stringlike
”などに一致します。
日付フィールドはフィルタ日付を
またはyyyy
/mm
/dd
yyyy/mm/dd:hh:mm:ss
の形式で表すことによりマッチングが可能です。特定の時刻が指定されていない場合、等価演算子(=
)はその日付に一致します。
フィルタ式演算子である文字を含むテキストを検索するには、当該文字をバックスラッシュ(\
)文字でエスケープします。バックスラッシュ文字を照合するには、もう1つのバックスラッシュでエスケープします(\\
)。バックスラッシュを使用して検索テキストをエスケープする特殊な文字は2種類あります。Perforceの"...
"ワイルドカードは\...
によりエスケープが可能であり、空のフィールドは\0
を用いて検索できます。
これらの演算子による動作は、比較対象となるフィールドのタイプにより異なります。fstat
が処理するフィールドはすべて、テキストフィールドです。等価演算子(=
)または大文字小文字区別なし等価演算子(~=
)は、値として指定された語が指定フィールド内に見つかった場合に、そのファイルと一致します。このタイプでは関係演算子の用途は限定的で、指定フィールド内のいずれかの語が、供給された値と一致する場合にファイルと一致します。関係演算子は常に大文字と小文字を区別します。例えば、チェンジリストにあるtext
フィールドのdesc
にbug not fixed
という語句が含まれていて、フィルタが“desc<fixed
”である場合、bug<fixed
であることからこのファイルはフィルタに一致します。
その他の使用上の留意点
-
-Ro
オプションを指定して-e
を使用すると、作業中の変更のみが考慮されるため、追加のための作業状態になっているファイルが出力に含められます。changelist
-
特殊文字
@
、#
、*
、および%
を含んでいるファイルの場合、clientFile
では特殊文字が表示され、depotFile
ではその文字の16進値のASCI表現が含まれたファイル名が表示されます。 -
size
フィールドとdigest
フィールドは正規化(UNIXの改行規則)された圧縮されていないバージョンのディポファイルに基づいており、クライアントワークスペースと同期させた際のファイルの表現には関係しません。 -
-L
オプションは、スクリプトまたは自動レポート処理で使用することが意図されています。ファイル引数は完全なディポシンタックスで記述し、有効なリビジョン番号を伴っていなければなりません。これらの必要条件を満たさないファイル指定は警告なく無視されます。 -
p4 fstatのシンタックスは、リリース2004.2で変更されました。従来のオプションである
-C
、-H
、-W
、-P
、-l
、および-s
は、互換性のためにサポートされています。
例
p4 fstat file.c |
|
p4 fstat //....c@20,@now |
チェンジリスト20でのファイルのチェックイン後に影響を受けた、すべての |
p4 fstat -Os file.c |
クライアントワークスペース情報行( |
p4 fstat -Osl file.c |
クライアントワークスペース情報行は表示しませんが、 |
p4 fstat -Os -Ol file.c |
p4 fstat -Oslと同義。 |
p4 fstat -F "clientFile=c:\\ws\\file.c" //depot/main/... |
パスにバックスラッシュが含まれている場合は、それらをバックスラッシュでエスケープします。 |
p4 fstat -F "clientFile~=c:\\ws\\[Ff]ile.c" //depot/main/... |
正規表現修飾子 |
p4 fstat -Ol -F "fileSize < 1024 & headType=text" //depot/main/... |
長さが1024バイトに満たない、 |
p4 fstat -T 'depotFile, headRev' file.c |
|