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

p4 fstat

ファイル情報をスクリプトによる構文解析に適したフォーマットにダンプします。

構文

p4 [g-opts] fstat [-F filter -L -T fields -m max -r] [-c|-e change]  
                   [-Ox -Rx -Sx] [-A pattern ] [-U] file[rev]...

説明

p4 fstatコマンドは、個々のファイルに関する情報を項目ごとに別々の行に分けてダンプします。 この出力は、各項目が変数としてアクセス可能なHelix C/C++ APIアプリケーションでの使用に最適ですが、スクリプトによる構文解析にも適しています。

p4 fstatコマンドで唯一必要な引数は、file[rev]引数です。 その他のすべてのオプションは、操作を行うファイルのセットの制限、または選択ファイルの情報の量または表示の制御に関連しています。

  • 出力のソート基準となるフィールドを変更するには-Sxオプションのうち1つを使用し、ソート順序を逆にするには-rオプションを使用します。
  • ファイルの出力をmax個までに限定するには、-m maxオプションを使用します。
  • フォームフィールドの一部の機能に基づいて出力を絞り込むには(例えば、一定の大きさを超え、固有のファイルタイプを持つすべてのファイルなど)-F filterオプションを使用します。
  • fields引数に指定されたフィールドの集合に出力を限定するには、-T fieldsオプションを使用します。 フィールド名のリストはスペースまたはカンマで区切ることができます。

ヘッドタイプのフィールド(headTimeなど)は、ファイル引数に与えられたファイルリビジョンの情報を返します。 特定のリビジョンが指定されていない場合、最新リビジョンの情報を返します。

フォームフィールド

表示されるフィールドは、選択したファイルによって異なります。

フィールド名 説明 例/備考

attr-name

名前に関する属性値。

attr-myAttr critical

attrProp-name

attr-nameが伝播属性である場合に設定します。

attrProp-myAttr

clientFile

ファイルのローカルパス(デフォルトはローカルシンタックス。-Opオプションを指定した場合はHelixサーバシンタックス)

ファイルに特殊文字(@#*%)が含まれている場合にclientFileコマンドを実行すると、その特殊文字が表示されます。

/staff/userid/src/file.c

(または、Helixサーバシンタックスでは//workspace/src/file.c)

depotFile

ファイルのディポパス。

ファイルに特殊文字(@#*%)が含まれている場合、その特殊文字の16進値のASCII表現が含まれているファイル名が表示されます。

//depot/src/file.c

movedFile

移動元/移動先ファイルのディポ内でのファイル名

//depot/src/file.c

path

ファイルのローカルパス

//workspace/src/file.c

isMapped

ファイルが現在のクライアントワークスペースにマップされている場合に設定します

isMapped

shelved

ファイルが保留されている場合に設定します

shelved

headAction

最新リビジョンで実行された操作(ディポ内に存在する場合)

addeditdeletebranchmove/addmove/deleteintegrateimportpurgearchiveのいずれかになります。

headChange

最新リビジョンのチェンジリスト番号(ディポ内に存在する場合)

124

headRev

最新リビジョンの番号(ディポ内に存在する場合)

124

headType

最新リビジョンのタイプ(ディポ内に存在する場合)

textbinarytext+kなど (「ファイルタイプ」を参照。)

headCharset

最新リビジョンの文字セット

unicodeファイル用

headTime

最新リビジョンのチェンジリストの日付(ディポ内に存在する場合)。 時刻は、1970年1月1日の00:00:00 UTCからの秒数で測定されます。

919283152は、1999年前半の日付

headModTime

最新リビジョンの更新時刻(クライアントにおいてサブミット前にファイルが最後に更新された時刻。ディポ内に存在する場合)。

919280483は、1999年前半の日付

movedRev

移動されたファイルの最新リビジョン

157

haveRev

最後にワークスペースに同期されたリビジョン(ワークスペース内に存在する場合)

23

desc

チェンジリストのコメント(-e changelistが使用され、ファイルがchangelistに含まれていた場合)

Helixサーバチェンジリスト

digest

ファイルのMD5ダイジェスト(-Olオプションが必要)

32桁の16進数。

クライアントワークスペースに同期されたときのファイルの状態に関係なく、圧縮されていない標準化された(UNIXの改行規則)バージョンのディポファイルに基づきます。

fileSize

ファイルのバイト数(-Olオプションが必要)

63488

クライアントワークスペースに同期されたときのファイルの状態に関係なく、圧縮されていない標準化された(UNIXの改行規則)バージョンのディポファイルに基づきます。

action

ファイルを作業状態にした操作(ワークスペース内で作業状態にした場合)

addeditdeletebranchmove/addmove/deleteintegrateimportpurgearchiveのいずれかになります。

type

作業状態にしたファイルのタイプ(ワークスペース内で作業状態にした場合)

Helixサーバのファイルタイプ

charset

作業状態になっているファイルの文字セット

(unicodeファイルの場合)

actionOwner

ファイルを作業状態にしたユーザ(ファイルが作業状態になっている場合)

Helixサーバユーザ名

workRev

作業状態になっているリビジョン(作業状態になっている場合)

 

change

作業状態になっているチェンジリストの番号(ワークスペース内で作業状態になっている場合)

75331

resolved

衝突解決済みの反映記録の数(存在する場合)

5

unresolved

衝突未解決の反映記録の数(存在する場合)

2

reresolvable

再度衝突解決が可能な反映記録の数(存在する場合)

1

otherOpen

同じファイルを作業状態にしている他のユーザの数(該当するユーザがいない場合は空白)

1, 2, 3n、レコード数nに続けて、適宜、otherOpennotherActionnotherLocknフィールドとあわせてユーザをリスト(0n-1)します。 以下に例を示します。

... otherOpen 3
...... otherOpen0 user1@ws1
...... otherOpen1 user2@ws2
...... otherOpen2 user3@ws3

otherOpenn

同じファイルを作業状態にしている個々のユーザに対し、そのファイルを作業状態にしているワークスペースとユーザを表示します。

user123@workstation9

otherLock

他のユーザがファイルをロックしている場合はNullを表示し、それ以外の場合は非表示になります。

otherLock

otherLockn

同じファイルをロックしている個々のユーザに対し、そのロックを保持しているクライアントとユーザを表示します。

user123@workstation9

一度に1ユーザのみファイルのロックが可能であるため、nが設定されていればnは常に0となります。

otherActionn

同じファイルを作業状態にしている個々のユーザに対し、実行された操作を表示します。

addeditdeletebranchmove/addmove/deleteintegrateimportpurgearchiveのいずれかになります。

otherChangen

ファイルを作業状態にしているすべてのチェンジリストに対し、そのチェンジリストを表示します。

75612

openattr-name

ファイルが作業状態になっているすべてのチェンジリストに関する名前の属性値を示します。

attr-name

openattrProp-name

attr-nameが伝播属性である場合に設定します。

attrProp-name

ourLock

現在のユーザがファイルをロックしている場合はNullを表示し、それ以外の場合は非表示になります。

ourLock

resolveActionn
resolveBaseFilen
resolveBaseRevn
resolveFromFilen
resolveStartFromRevn
resolveEndFromRevn

それぞれ作業中の、反映操作、ベースファイル、ベースリビジョン番号、反映元ファイル、開始リビジョン、終了リビジョン。

作業中の反映記録情報の場合は、-Orオプションを使用します。

totalFileCount

検査されたファイルの数(ソートされている場合)。

-m maxオプションをソートオプションの-Sxまたは-rと共に指定した場合に、最初のファイルの出力として表示されます。

オプション

-A pattern

表示される属性を、指定されたpatternに一致するものに限定します。 例えば、ファイルを選択している場合、-A foo*はファイル名がfooで始まる属性のみを表示します。

-c change

指定のチェンジリスト番号以降に影響を受けたファイルのみを表示します。 この操作を実行すると、影響を受けるファイルのリビジョン範囲を使用する場合よりも、処理時間が大幅に短縮されます。

-e change

指定のチェンジリスト番号により影響を受けたファイルのみを表示します。 このオプションを使用すると、影響を受けるファイルのリビジョン範囲を指定する場合よりも、処理時間が大幅に短縮されます。

このオプションを-Roオプションとともに指定すると、作業中の変更のみが処理対象になるため、追加目的で作業状態になっているファイルが表示されます。 このオプションを指定すると、変更の説明も表示されます。

-F filter

filterにより指定された基準に一致するファイルのみをリストします。 フィルタに関する説明は、使用上の留意点を参照してください。

インデックスを使用したフィルタリングのパフォーマンスは、最適化されません。

-L

スクリプトの作成または自動レポート処理の目的で、ファイル引数リストについてのファイル情報を、有効なリビジョン番号とあわせて完全なディポシンタックスでレポートします。 これらの必要条件を満たさないファイル指定は、暗黙的に無視されます。

-m max

fstatの出力をmaxファイルまでに限定します。

-Oa

p4 attributeによって設定された属性を出力します。

-Ob

サーバ上のアーカイブファイルのパス、リビジョン、タイプ、絶対ローカルパス、相対ローカルパスを出力します。 このオプションを指定するには、admin権限が必要になります。

-Od

属性の要約を出力します。

-Oe

16進数でエンコードされた属性値を出力します。

-Of

指定されたファイルのすべてのリビジョンについて、other[...]およびresolve[...]フィールドを除外して出力します。

-Ol

fileSizeフィールドとして、ファイルの長さとリビジョンごとの要約フィールドを表示します。

p4 fstat -e shelvedChange -Rs -Ol は、指定された変更について保留中のファイルのサイズと要約をレポートします。

-Op

clientFileを、ローカルシンタックスではなく、Helixサーバシンタックスで表示します。

-Or

現在ワークスペースで作業状態になっているファイルの作業中の反映記録データを表示します。

-Os

クライアントワークスペースデータ(すなわちclientFileフィールド)を除外することにより、出力を短縮します。

-r

出力を逆順でソートます。

-Rc

出力を、現在のワークスペースにマッピングされているファイルに制限します。

-Rh

出力を、haveリストのファイル、すなわち現在のワークスペースに同期されているファイルに制限します。

-Rn

出力を、最新リビジョンではないリビジョンで作業状態になっているファイルに制限します。

-Ro

出力を、現在のワークスペースで作業状態のファイルに制限します。 作業中の変更を取得するには、このオプションを使用する必要があります。

-Rr

出力を、衝突解決済みの作業状態のファイルに制限します。

-Rs

出力を、保留中のファイルに制限します。 -e changelistオプションが必要です。

p4 fstat -e shelvedChange -Rs -Ol は、指定された変更について保留中のファイルのサイズと要約をレポートします。

-Ru

出力を、衝突未解決の作業状態のファイルに制限します。

-Sd

日付でソートします。

-Sh

所有リビジョンでソートします。

-Sr

最新リビジョンでソートします。

-Ss

ファイルサイズでソートします。

-St

ファイルタイプでソートします。

-T fields

fieldsにより指定されたフィールド名に一致するファイルのみをリストします。 フィールド名のリストはスペースまたはカンマで区切ることができます。

-U

データを表示する際にアンロードディポ内のファイルを含みます。 詳細については、「p4 unload」を参照してください。

g-opts

詳細については、「グローバルオプション」を参照してください。

-sグローバルオプション(出力のタイプをerrorwarninginfotext、またはexitとして記述するタグを、出力の各行の前に付ける)は、p4 fstatでは特に有用です。

使用上の留意点

ファイル引数にリビジョン指定子を使えるか? ファイル引数にリビジョン範囲を使えるか? 最低限必要なアクセスレベル

使用可

使用可

list

フィルタ

ファイルのリストを、特定の基準を満たすファイルに限定するには、p4 fstat -F filterを使用します。

p4 fstatにより表示されるどのフォームフィールドでも、論理演算子の使用が可能です。 通常の比較演算子(=><>=<=)も使用可能です。 正規表現マッチングは、正規表現マッチング演算子(~=)によりサポートされています。

次のフィルタ式は、headTypeフィールドがtextに設定されている、特定のサイズのファイルをフィルタします。

-F "fileSize > 100000 & headType=text"

fstatで使用されるフィルタでは、大文字と小文字が区別されます。 スペースで区切られたすべての英数文字列(句読記号が埋め込まれた単語を含む)は、単語として索引付けされます。

フィルタ内で検索語の間にスペースがあると、ブール演算子のANDとして扱われます。 任意のキーと値のペアを含むファイルを検索するには(ブール演算子OR)、それぞれの語を「|」で区切ります。

アンパサンド(&)文字もブールのANDとして使用可能です。ブール演算子は(高優先度から低優先度の順に) &|、スペースの順で値を結合します。 グループ化の優先順位を変更するには、括弧を使用します。

さらに、NOT演算子(^)を使用して、一部の比較の意味を打ち消すことができます。

検索結果は、特定フィールド内の値をフィルタシンタックス「fieldname=value」によりマッチングすることで絞り込みが可能です。 valueは、英数字および句読記号を含む単一の字句でなければなりません。

ワイルドカード「*」により、語の部分マッチングが可能です。 フィルタ「fieldname=string*」は、「string」、「stringy」、「stringlike」などに一致します。

日付フィールドは、フィルタ日付をyyyy/mm/ddまたはyyyy/mm/dd:hh:mm:ssの形式で表すことによりマッチングが可能です。 特定の時刻が指定されていない場合、等価演算子(=)はその日付に一致します。

フィルタ式演算子である文字を含むテキストを検索するには、当該文字をバックスラッシュ(\)文字でエスケープします。 バックスラッシュ文字を照合するには、もう1つのバックスラッシュでエスケープします(\\)。 バックスラッシュを使用して検索テキストをエスケープする特殊な文字は2種類あります。Helixサーバの「...」ワイルドカードは\...によりエスケープが可能であり、空のフィールドは\0を用いて検索できます。

これらの演算子による動作は、比較対象となるフィールドのタイプにより異なります。 fstatが処理するフィールドは、すべてテキストフィールドです。 等価演算子(=)または大文字小文字区別なし等価演算子(~=)は、値として指定された語が指定フィールド内に見つかった場合に、そのファイルと一致します。 このタイプでは関係演算子の用途は限定的で、指定フィールド内のいずれかの語が、供給された値と一致する場合にファイルと一致します。 関係演算子は常に大文字と小文字を区別します。 例えば、チェンジリストにあるtextフィールドのdescbug not fixedという語句が含まれていて、フィルタが「desc<fixed」である場合、bug<fixedであることから、このファイルはフィルタに一致します。

p4 fstat file.c

file.cに関する情報を表示します。

p4 fstat //....c@20,@now

チェンジリスト20でのファイルのチェックイン後に影響を受けた、すべての.cファイルに関する情報を表示します。

p4 fstat -Os file.c

クライアントワークスペース情報行(clientFile)は表示されません。

p4 fstat -Osl file.c

クライアントワークスペース情報行は表示しませんが、fileSizeおよびdigestの行は表示します。

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/...

正規表現修飾子~=を使用して、File.cおよびfile.cに一致する正規表現を指定します。

p4 fstat -Ol -F "fileSize < 1024 & headType=text" //depot/main/...

長さが1024バイトに満たない、//depot/main/...配下にあるすべてのテキストファイル に関する情報を表示します。

p4 fstat -T 'depotFile, headRev' file.c

file.cdepotFileフィールドとheadRevフィールドのみを表示します。

関連コマンド

各ファイルに関する追加の情報を読み取る

p4 files

変更の説明を含むファイル情報を表示する

p4 filelog