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

p4 jobs

Helix Coreサーババージョニングサービスに既知のジョブをリスト表示します。

構文

p4 [g-opts] jobs [-e jobview] [-i -l -r] [-m max] [file[rev] ...]
p4 jobs -R

説明

p4 jobsは、引数なしで実行されると、Helixサーバに保存されているすべてのジョブをリスト表示します。 このコマンドの出力は、オプションや引数でさまざまな基準を指定することにより、制限することができます。 ファイルパターンを指定すれば、リスト表示されるジョブは特定のファイルに影響を及ぼすチェンジリストにリンクされたもののみに制限されます。 -eオプションを使用すれば、リスト表示されたジョブをさらに特定の語を含むもののみに制限することができます。

ジョブは、その名前をキーとして、英数字の昇順(あるいは、-rオプションを使用すると、降順)に、1行に1つずつ表示されます。 各行の形式は次のとおりです。

jobnameondatebyuser *status* description

記述は、-l (long)オプションが使用されていない限り、先頭から31文字までに制限されます。

dateuserstatus、またはdescriptionのフィールドのいずれかが、Helixサーバスーパーユーザによりp4 jobspecで削除されている場合、そのフィールドの値は各ジョブの出力に表示されません。

ジョブのリストを、特定ファイルに関連するチェンジリストによって修正されたもののみに制限するには、p4 jobs filespecを使用します。 ファイルまたはファイルパターンの指定には、リビジョン指定子またはリビジョン範囲を含めることができます。

オプション

-e jobview

jobviewにより指定された基準に一致するジョブのみをリスト表示します。 詳細については、「ジョブビュー」を参照してください。

-i files ...

指定ファイルに反映されたファイルに関連するチェンジリストによって修正されたジョブも含めます。

-l

各ジョブの完全な記述を出力します。

-m max

英数字の昇順にソートし、先頭からmaxの数のみのジョブを表示します。 -rオプションを付ければ、英数字の降順にソートし、先頭からmaxの数のみのジョブが表示されます。

-r

ジョブを、その名前をキーとして、アルファベット順の降順で表示します。

-R

ジョブテーブルを再構築し、各ジョブにあらためてインデックスを付けます。

この操作は、バージョン98.2よりも前のバージョンからのアップグレード、および99.1から2001.1より新しいバージョンへのアップグレードを行う際に必要となります。また、既存のジョブを検索する際に、句読法(区切り文字やスペース)を使用したいときにも必要となります。

g-opts

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

使用上の留意点

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

使用可

使用可

list

ジョブビュー

p4 jobs -e jobviewを使用すれば、リスト表示するジョブを特定の語を含むジョブのみに制限することができます。 検索する語は特定のフィールドについて指定することもできますし、ジョブのテキストについて指定することもできます。 テキストに検索語を指定する場合ほど多くのオプションは使用できませんが、日付のフィールドの値を指定してジョブを一致させるためにジョブビューを使用することもできます。 bulkタイプのジョブフィールドには検索用のインデックスは付けられません。

検索語の適合は大文字/小文字の区別なく調べられます。 スペースで区切られたすべての英数文字列(句読記号が埋め込まれた単語を含む)は、単語として索引付けされます。

ジョブビューを'word1 word2 ... wordN'と記述すれば、word1からwordNまでの完全セットが含まれているジョブを検索できます。

例:

  • p4 jobs -e "ReportedDate=2018/09/14 OwnedBy=mgaria FixVerifiedBy=jsmith"

  • p4 jobs -e "ReportedDate=2018/09/14 mgaria jsmith"

  • p4 jobs -e "25* path QA closed job004* 2014* limit*"

すべての検索語を含むジョブを検索するには(ブール演算子AND)、検索語をアンパサンド(&)または空白文字で区切ります。

任意の検索語を含むジョブを検索するには(ブール演算子OR)、それぞれの検索語を「|」の文字で区切ります。

ブール演算子の優先度
最高 括弧()内の文字
  & (AND)
  | (OR)
最低 ANDに使用するスペース

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

ワイルドカード「*」により、語の部分マッチングが可能です。 ジョブビューに"fieldname=string*"と記述すると、指定したフィールドに"string"、"stringy"、"stringlike"などの文字列を含むジョブを検索することができます。

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

通常の比較演算子(=><>=<=)も使用可能です。

さらに、NOT演算子(^)を使用して、一部の比較の意味を打ち消すことができます。 (詳細については、下記「制約」を参照してください)。

正規表現マッチングは、正規表現マッチング演算子(~=)によりサポートされています。

検索で使用する演算子を文字として含む単語を検索するときは、バックスラッシュ(\)でその文字をエスケープしてください。 バックスラッシュ文字を照合するには、もう1つのバックスラッシュでエスケープします(\\)。

これらの演算子による動作は、比較対象となるジョブフィールドのタイプにより異なります。

フィールドタイプ ジョブビューにおける比較演算子の働き

word

等価演算子(=)は、wordフィールドの値の完全一致を行います。

関係演算子は、ASCIIコード順に比較を行います。

text

等価演算子(=)は、指定フィールドに指定された語が値として含まれているジョブと一致します。

ここでは関係演算子の用途は限定的で、指定フィールド内のいずれかの語が、与えられた値と一致する場合にジョブと一致します。

例えば、ジョブのtextフィールドShortDescriptiongui bugという語句のみが含まれている場合、ジョブビューに"ShortDesc<filter"を指定すると、bug<filterであるため、このジョブはジョブビューに一致します。

line

上記のフィールドタイプtextの場合と同じです。

select

等価演算子(=)は、指定フィールドに指定された語が含まれているジョブと一致します。 関係演算子は、ASCIIコード順に比較を行います。

date

日付は年代順に比較されます。 特定の時刻が与えられていない場合、演算子=<=>=はその日付に一致します。

フィールドタイプがよくわからない場合は、サイトで使用中のジョブ仕様を出力するp4 jobspec -oを実行します。 p4 jobspecの[Fields:]フィールドには、ジョブフィールドの名前とデータタイプが含まれています。 フィールドのタイプについては、p4 jobspecを参照してください。

その他の使用上の留意点

  • p4 userのフォームには、JobView:フィールドがあり、ジョブビューを特定のユーザにリンクさせることができます。 ユーザがこのフィールドにジョブビューを入力すると、そのユーザが生成するチェンジリストにおいて、このフィールドのジョブビューと一致するジョブが自動的にリスト表示されます。 そのチェンジリストによって修正されたジョブはこのフォームに残すことができますが、そうでないジョブは削除する必要があります。
  • p4 jobs は、その出力を英数字順にジョブ名で並べ替えますが、これはジョブが入力された時間順でもあります。 ただし、Helixサーバで使用される標準的なジョブ名と異なるジョブ名を使用している場合には、この限りではありません。
  • -m max-r は、英数字順で最後からmaxの数のジョブを表示するのであって、新しいものからmaxの数のジョブを表示するわけではありません。しかし、デフォルトのHelixサーバジョブの名前付け規則(例えば、job001394のような名前が付く)を使用していれば、英数字順と入力日付の古い順が同じになります。
  • テキストタイプのフィールドが値を含んでいるかどうかは、ワイルドカード「*」を使用してジョブビューを"field=*"と記述することによって確認できます。fieldがnull値でないジョブがすべて検索されます。
  • -e jobviewオプションを用いてジョブを検索する場合、特にワイルドカード、論理演算子、括弧を使用する場合には、オペレーティングシステムおよびコマンドシェルの構文解析、引用、特殊文字のエスケープの動作に注意してください。

制限事項

  • ジョブビューは、null値のフィールドを含むジョブの検索には利用できません。 言い換えれば、既存のジョブからあるフィールドが削除されたとすると、該当フィールドはインデックスが付いていないことになり、その「削除済フィールド」の値に一致するジョブビューは存在しません。
  • ジョブビュー内では、ジョブビューNOT演算子(^)はAND演算子の後にしか使用できません。 つまり、「gui ^name=joe」、「gui&^name=joe」というジョブビューは有効ですが、「gui|^name=joe」、「^name=joe」というジョブビューは有効ではありません。
  • 上記の制約を回避するには、ワイルドカード「*」が有効です。

    例えば、文字列“unwanted”を含まないすべてのジョブを検索するには、ジョブビューを“job=* ^unwanted”と記述します。 ジョブビューの最初の部分ですべてのジョブが選択され、文字列“unwanted”を含まないすべてのジョブとの論理積ANDがとられます。

    同様に、ジョブビュー“field=*”は、fieldがnullではない(つまり、jobフィールドは空ではないと考えられる)あらゆる値と一致するので、null値のフィールドを持つジョブは“job=* ^field=*”で検索することができます。

  • 現時点では、スペースで区切られたフィールドの条件検索は実行できません。 例えば、p4 jobs -e "field=word1 word2"の代わりにp4 jobs -e "field=word1 field=word2"を使用しなければなりません。

p4 jobs //depot/proj/file#1

//depot/proj/fileのリビジョン1を含むチェンジリストに添付されたすべてのジョブをリスト表示します。

p4 jobs -i //depot/proj/file

//depot/proj/fileのリビジョン、あるいは//depot/proj/fileに反映されたファイルのリビジョンを含むチェンジリストに添付されたすべてのジョブをリスト表示します。

p4 jobs -e gui

いずれかのフィールドに単語guiを含むすべてのジョブをリスト表示します。

p4 jobs -e "gui Submitted-By=joe"

いずれかのフィールドに単語guiを含み、[Submitted-By:]フィールドに単語joeを含むすべてのジョブをリスト表示します。

p4 jobs -e "gui ^Submitted-By=joe"

いずれかのフィールドに単語guiを含み、[Submitted-By:]フィールドがjoe以外の値になっているすべてのジョブを一覧表示します。

p4 jobs -e "window*"

いずれかのフィールドに単語「window」、「window.c」、「Windows」を含むすべてのジョブをリスト表示します。 引用符はローカルシェルがコマンドライン上で「*」を拡張するのを防ぐために使用します。

p4 jobs -e window.c

いずれかのフィールドでwindow.cを参照しているすべてのジョブをリスト表示します。

p4 jobs -e "job=* ^unwanted"

どのフィールドにも単語unwantedを含まないすべてのジョブをリスト表示します。

p4 jobs -e "(fast|quick)&date>1998/03/14"

いずれかのフィールドに単語fastまたはquickを含み、[date:]フィールドの値が3/14/98以降を示しているすべてのジョブをリスト表示します。

p4 jobs -e "fast|quick" //depot/proj/...

いずれかのフィールドに単語fastまたはquickを含み、//depot/projのファイルに影響を及ぼしたチェンジリストにリンクされているすべてのジョブをリスト表示します。

関連コマンド

ジョブの生成または既存のジョブの編集を行う

p4 job

ジョブを特定のチェンジリストにリンクし、ジョブがそのチェンジリストによって修正されることを指示する

p4 fix

すべてのジョブとそれがリンクされているチェンジリストをリスト表示する

p4 fixes

特定のチェンジリストについて、それにリンクされているジョブも含め、すべての情報を参照する

p4 describe

サイトで使用されているジョブの形式を変更する(スーパーユーザのみ)

p4 jobspec

サイトで使用されているジョブの形式に関する情報を読み出す(全ユーザ)

p4 jobspec -o

デフォルトのジョブビューを設定することにより、そのジョブビューに一致するジョブがすべての新しいチェンジリストに含まれるようにする。

p4 user