グローバルオプション

概要

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

構文


p4 [-bbatchsize -cclient -ddir -Hhost -pport -Ppass -uuser -xfile -Ccharset
    -Qcharset -Llanguage] [-I] [-G] [-s] [-z tag] cmd [args ...]
 p4 -V p4 -h

オプション

-b batchsize

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

-c client

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

-d dir

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

-I

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

-G

すべての出力(および-iオプション付きコマンドのためのバッチ入力)をPythonディレクトリオブジェクトとしてフォーマットします。これは、スクリプト作成時に最も多く使用されます。

-H host

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

-p port

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

-P pass

P4PASSWDの設定を、指定したパスワードでオーバーライドします。

-r retries

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

-s

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

-u user

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

-x argfile

指定したファイルから1行につき1つの引数を読み取るよう、Perforceに指示します。ファイルが1つのハイフン(-)である場合は、標準入力から読み取ります。

-C charset

P4CHARSETの設定を、指定したキャラクタセットでオーバーライドします。

-Q charset

P4COMMANDCHARSETの設定を、指定したキャラクタセットでオーバーライドします。

-L language

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

-z tag

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

-q

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

-V

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

-h

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

使用上の留意点

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

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

  • -xオプションは、何度も繰り返す必要のある単純なタスクを自動化するのに便利です。例えば、一度に数個のファイルを追加したい場合、これらのファイルの名前を記述したテキストファイルを作成し、p4 -x textfile addを実行すると、これらのファイルを一度に追加できます。

    -xオプションは、入力そのものを生成してしまうと言っていいほど、使い方によってはきわめて強力なものになります。例えば、UNIXの開発者が、file.hをインクルードしているすべてのファイルを編集しようとしていると仮定します。この場合は、例えばgrep -l file.h *.c | cut -f1 -d: | p4 -x - editを使用することができます。

    この例の場合、grepコマンドは、すべての*.cファイルにおけるfile.hの出現をリストします。-lオプションは、各ファイルを1回だけリストするようgrepに指示します。そして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--%d--' % num
            dict = marshal.load(sys.stdin, 'rb')
            for key in dict.keys(): print "%s: %s" % (key,dict[key])
    
    except EOFError: pass
    

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

  • 現時点では、-Iオプションの使用によりリクエストされる進捗インジケータはp4 -I submitおよびp4 -I sync -qによってのみ提供されます。

  • グローバルオプションは、使い方によっては無意味なものとなります。

    例えば、p4 -c workspace helpの出力は、p4 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がファイルのリストを含む場合、このコマンドはリストにある各ファイルを編集目的で作業状態にし、スクリプトによる解析に適した出力を生成します。

この場合、error:で始まる行があるか出力を調べることにより、自動化されたp4 editコマンドの結果としてのエラー(例えば、filelist.txtのリストにあるファイルが見つからない)を簡単に検出できます。