グローバルオプション

Helixサーバコマンドのためのグローバルオプションです。 これらのオプションは、コマンドラインで どのHelixサーバコマンドにでも先行させて 入力可能です。

構文規則

p4 [-b batchsize -c client -d dir -H host -p port -P pass -u user -x file -C charset
    -Q charset -L language] [-I] [-G] [-Mj] [-s] [-z tag] cmd [args ...]
p4 -V
p4 -h

オプション

-b batchsize

-x argfileオプションによりコマンドをファイルから実行する際に 使用するバッチサイズ(引数の数)を指定します。 デフォルトのバッチサイズは128です。

-c client

P4CLIENTの設定を、指定したクライアント名でオーバーライドします。

-d dir

PWDの設定(現在の作業ディレクトリ)をオーバーライドし、 指定したディレクトリに置換します。

-I

進捗インジケータ(利用可能である場合)を使用する旨を指定します。 このオプションは、-sおよび-Gと同時に使用できません。

-i -iオプションと-oオプションはグローバルオプションではありませんが、フォームとともに機能して標準入力と標準出力を表します。

-G

すべての出力(およびフォームコマンドに対して、-iで指定する一括入力)を、 整列されたPythonディクショナリオブジェクトとしてフォーマットします。 これは、スクリプト作成時に最も多く使用されます。

注意

-Gオプションと-z tagオプションを組み合わせて使用する必要があります。そうしないと、正しくない出力が表示される可能性があります。

使用上の注意点」も参照してください。

-Mj

出力が行区切りのJSONオブジェクトとしてフォーマットされます。 非UTF8文字は「U+FFFD」に置換されます。

注意

-Mjオプションと-z tagオプションを組み合わせて使用する必要があります。そうしないと、正しくない出力が表示される可能性があります。

-H host

P4HOSTの設定をオーバーライドし、 指定したホスト名に置換します。

-o -iオプションと-oオプションはグローバルオプションではありませんが、フォームとともに機能して標準入力と標準出力を表します。

-p port

P4PORTの設定を、 指定されたprotocol:host:portでオーバーライドします。

-P pass

P4PASSWDに関連するパスワードを入力することなく、コマンドラインからパスワード(またはチケット)を渡すことができます。有効なチケットが存在する場合に、このオプションと無効なpassオプションを組み合わせて使用すると、有効なチケットへのアクセスが許可されます。

-r retries

ネットワークがタイムアウトした場合にコマンド(特にp4 sync)を 再試行する回数を指定します。

-s

Helixサーバコマンドが生成する出力の各行の先頭に、 解説フィールド(例えば、text:info:error:exit:)を付加します。 これは、スクリプト作成時に最も多く使用されます。

-u user

P4USERUSER、およびUSERNAMEの設定を、 指定したユーザ名でオーバーライドします。

-x argfile

指定したファイルから1行につき1つの引数を読み取るように Helixサーバに指示します。

argfileが1つのハイフン(-)である場合は、ファイルからではなく 標準入力から読み取るようHelixサーバに指示します。

-C charset

P4CHARSETの設定を、 指定した文字セットでオーバーライドします。

-Q charset

P4COMMANDCHARSETの設定を、 指定した文字セットでオーバーライドします。

-L language

この機能は、システム管理者向けに用意されています。

-z tag

多くのレポート作成コマンドの出力を、p4 fstatにより生成される タグ付きフォーマットと同じ形式にします。

注意

-Gオプションや-Mjオプションなどを指定する場合と同様に、すべての出力でこのオプションを使用する必要があります。そうしないと、正しくない出力が表示される可能性があります。

-q

クワイエットモードでは、情報伝達メッセージを抑止し、警告またはエラーのみを報告します。

-v デバッグモード

-V

p4アプリケーションのバージョンを表示し、コマンドを終了します。

-h

基本的な使用方法を表示し、コマンドを終了します。

使用上の注意点

  • グローバルオプションは、コマンドラインで Helixサーバコマンドに先行させて 指定しなければならないことに注意してください。 Helixサーバコマンドの後に続けて指定したオプションは、 グローバルオプションとはみなされず、実行しようとしているコマンドのための オプションとみなされます。 したがって、同じコマンドラインで同じオプションを2回指定することが可能で、 それぞれ別々のものとみなされます。

    例えば、コマンドp4 -c anotherclient edit -c 140 file.cは、クライアントワークスペースanotherclient内で、 作業中チェンジリスト140に含まれるファイルfile.cを編集のための 作業状態にします。

  • -xオプションは単純なタスクを自動化するのに役立ちます。一連の引数を、指定したファイルから1行ごとに処理します。例えば、簡単な方法で多数のファイルをディポに集約したい場合があります。多数のファイルを1行につき1つずつ記載したファイルを1つ作成します。UNIXのcatコマンドを使用して、そのようなファイルがあるか確認します。

    cat filesToAdd.txt
    partOne.txt
    partTwo.txt
    partThree.txt

    -xオプションを指定すると、p4 addコマンドでファイルを1行ずつ処理できます。これは一連のp4 addコマンドを毎回異なるファイル引数を指定して実行した場合と同様です。ここでは、以下の場合について考えてみます。

    p4 -x filesToAdd.txt add

    これは次を実行する場合と同等になります。

    >p4 add partOne.txt
    
    p4 add partTwo.txt
    p4 add partThree.txt

    このため、p4 -x filesToAdd.txtの結果は次のようになります。

    //depot/repo/partOne.txt#1 - opened for add
    //depot/repo/partTwo.txt#1 - opened for add
    //depot/repo/partThree.txt#1 - opened for add

    -xオプションは、入力そのものを生成してしまうと言っていいほど、 使い方によってはきわめて強力なものになります。例えば、file.hファイルを参照する ファイルを編集する必要のあるUNIX開発者は、次のようにコマンドを実行できます。

    grep -l file.h *.c | cut -f1 -d: | p4 -x - edit

    各項目の意味は以下のとおりです。

    • grepコマンドは、*.cファイルにおけるfile.hの出現を 一覧表示します。
    • -lオプションは、grepに各ファイルを1回のみ 一覧表示するよう指示します
    • cutコマンドは、 grepの出力からファイル名を分離し、 その出力をp4 -x - editコマンドに渡します
  • -sオプションは、自動化されたスクリプトにおいて使用すると便利です。

    例えば、p4 -sコマンドを実行し、info:で始まるあらゆる出力行を廃棄し、 error:で始まる出力行がある場合はユーザに警告する、 といった内製のビルドプロセスの一部として、スクリプトを記述することができます。

  • Pythonの開発者がスクリプトを作成する際、-Gオプションは有用です。例えば、IDが分かっているジョブのすべての フィールドについてディレクトリを得る場合、次のように実行します。

    job_dict = marshal.load(os.popen('p4 -G job -o ' + job_id, 'rb'))

    アプリケーションがどのキーを使用するか分からない場合があります。 p4 -Gの出力をパイプで下記のスクリプトに渡した場合、 各レコードはキー/値の組で表示されます。

    #!/usr/local/bin/python
    
    import marshal, sys
    
    try:
        num=0
        while 1:
            num=num+1
            print '\n' % num
            dict = marshal.load(sys.stdin)
            for key in dict.keys(): print "%s: %s" % (key,dict[key])
    
    except EOFError: pass

    Windows上でPythonを使用する開発者は、潜在的なCR/LF変換に 注意する必要があります。 上の例において、バイナリ(「rb」)モードでデータを読み取る場合、 marshal.load()を呼び出す必要があります。

    ヒント

    このオプションを使用したスクリプトの作成の例とガイダンスについては、サポートナレッジベースの記事「p4 -Gの使用」を参照してください。

  • -Iオプションを使用してリクエストする進捗インジケータを使用するには、 p4 -I submitおよびp4 -I sync -qを実行する必要があります。
  • p4 helpこのコマンドは、p4 -c workspace helpコマンドよりも単純ですが、実行結果は同じになります。

p4 -p new_service:1234 sync

環境変数P4PORTの設定に関係なく、 new_serviceのポート1234に接続した後、 同期を実行します。

p4 -c new_client submit -c 100

最初の-cは、クライアントワークスペース名を指定する グローバルオプションです。

2番目の-cは、チェンジリスト番号を指定します。

p4 -s -x filelist.txt edit

filelist.txtがファイルのリストを含む場合、このコマンドはリストにある 各ファイルを編集目的で作業状態にし、スクリプトによる解析に適した 出力を生成します。

p4 editコマンドが自動実行された結果としてエラー (例えば、filelist.txtに含まれているファイルが見つからないなど)が 発生したかどうかを確認するには、出力に「error:」で 始まる行が含まれていないか調べます。