P4を構成する

この章では、接続設定の構成方法について説明します。

構成の概要

Perforceは企業向けバージョン管理システムであり、これによりユーザは共有されたバージョン化サービスに接続できます。ユーザはディポと呼ばれる共有リポジトリからファイルを同期させ、それを自分のクライアントワークスペースのワークステーションにおいて編集します。この章では、システム管理者がお客様の組織のPerforceサービスを構成していることを想定しています。バージョン化サービスの設定についての詳細は、『Perforceサーバ管理者ガイド: 基本』を参照してください。

ワークスペースを設定してPerforceとのやり取りを可能にするには、次の手順に従ってください。

  1. プロトコル、ホストおよびポートを設定して、Perforceサービスに接続できるようにします。Perforceを設定するを参照してください。

  2. ワークスペースを定義します(少なくとも、名前を指定し、ディポファイルのローカルコピーを格納するワークスペースのルートを指定してください)。クライアントワークスペースを定義するを参照してください。

  3. 接続を確認します。接続を確認するを参照してください。

ワークスペースを構成したら、ディポに格納されているファイルを同期させてワークスペースに取り込むことができます。詳細については、ファイルの同期(取得)および『P4コマンドリファレンス』のp4 syncコマンドの解説を参照してください。

Perforceの構成を始める前に、Perforce管理者に適切なホストおよびポートの設定について問い合わせてください。また、ワークステーションにすでにワークスペースが構成されているか確認してください。

クライアントワークスペースとは

Perforceクライアントワークスペースとは、Perforceによって管理されるファイルリビジョンの操作を行うワークステーション上にあるディレクトリのセットです。各ワークスペースには、Perforceサービスに対してクライアントワークスペースを識別するための固有の名前が付いています。P4CLIENT環境変数の設定によりワークスペース名を指定しない場合、デフォルトのワークスペース名はワークステーションの名前になります。効果的なワークスペース名を指定するために、P4CLIENT環境変数を設定してください。1つのマシンに複数のワークスペースを含めることができます。

Perforceクライアントワークスペース内のすべてのファイルは、クライアントワークスペースルートと呼ばれるルートディレクトリを共有します。ワークスペースルートはワークスペースの最上位ディレクトリで、その配下に管理対象のソースファイルが格納されます。

同一マシン上に複数のワークスペースを構成する場合、不用意にファイルが上書きされることのないよう、ワークスペースの場所を離してください。クライアントルートが別々のフォルダに配置されるようにし、ワークスペースビューをディポファイルにマッピングするとき、ワークステーション上の位置が重ならないようにしてください。

ワークスペースを構成したら、ファイルをディポと同期して変更をサブミットできます。これらの操作について詳しくは、“ファイルとチェンジリストの管理”を参照してください。

Perforceによるワークスペースの管理方法

Perforceはクライアントワークスペース内のファイルを以下のように管理します。

  • ユーザによる変更に応じて、ワークスペース内のファイルの作成、更新、削除が行われます。

  • 書き込み権限はユーザがファイルを編集する際に有効にされ、変更をサブミットする際に無効にされます。

ユーザのワークスペースの状態はPerforceにより追跡され、管理されます。Perforceアプリケーションにより実行されるファイル管理との衝突を避けるため、ファイルの読み取り専用の許可設定を手動で変更しないでください。Perforceには、クライアントワークスペースの状態が、Perforceに記録されている状態と一致しているか否かを判断できるコマンドがあります。詳細については、オフラインで作業するを参照してください。

Perforceにより制御されるよう指定していないワークスペース内のファイルは、Perforceには無視されます。例えば、コンパイル済みオブジェクト、ライブラリ、実行可能ファイル、およびソフトウェア開発中に作成されたもののディポに追加されていない開発者用一時ファイルなどは、Perforceコマンドの影響を受けません。

クライアントワークスペースを定義したら、ワークスペースの定義を微調整することができます。おそらく最も重要なことは、ディポ内のユーザが見ることができる部分を制限して、不用意にディポ全体を同期させないようにすることです。詳細については、ワークスペースビューを限定するを参照してください。

Perforceを設定する

このガイドでは、環境変数を使用したPerforceの設定方法(set P4CLIENTなど)を説明していますが、ポート、ユーザ、ワークスペース名などのPerforceの設定は以下の方法で指定できます(優先順位の高い順に示しています)。

  1. コマンドラインでオプションを使用する

  2. P4CONFIGが設定されている場合、構成ファイルで指定する

  3. UNIXまたはWindowsにおいてユーザ環境変数を使用する

  4. システム環境変数を使用する(Windowsではシステム全体の環境変数はユーザ環境変数と同じではないことがあります)

  5. WindowsまたはOS Xにおいて、ユーザレジストリまたはユーザ設定を使用する(p4 setコマンドを発行して設定する)

  6. WindowsまたはOS Xにおいて、システムレジストリまたはシステム設定を使用する(p4 set -sコマンドを発行して設定する)

Perforceサービスに接続するようワークステーションを構成するには、サービスが稼働しているホストの名前およびサーバが接続を待機するポートを指定します。デフォルトのホストはperforce、デフォルトのポートは1666です。サービスがマシン上で実行されている場合、ホスト名をlocalhostに指定してください。サービスがポート1666で実行されている場合、ポートの指定を省略することができます。

以降のセクションで説明するとおり、これらの設定を指定することができます。オフライン(Perforceサービスに接続しない)での作業についての詳細は、オフラインで作業するを参照してください。

コマンドラインを使用する

これらの設定をコマンドラインで指定するには、-pオプションを使用してください。例:

p4 -p tcp:localhost:1776 sync //depot/dev/main/jam/Jambase

コマンドラインで指定した設定により、構成ファイル、環境変数、Windowsレジストリ、またはOS Xのシステム設定で指定された設定はすべて上書きされます。コマンドラインのオプションについての詳細は、『P4コマンドリファレンス』のグローバルオプションの説明を参照してください。

構成ファイルを使用する

構成ファイルは、そのファイルのあるディレクトリおよびその配下のディレクトリにあるファイルに影響するPerforceの設定が記述されているテキストファイルです。構成ファイルは、同一マシン上に複数のクライアントワークスペースがある場合に役立ちます。構成ファイルで設定を指定すれば、異なるワークスペースで作業するたびにシステム設定を変更するという面倒な作業は必要ありません。

構成ファイルを使用するには、ファイル名(.p4configなど)を指定して、P4CONFIG環境変数を定義します。コマンドの発行時、Perforceは現在の作業ディレクトリおよびその親ディレクトリで指定されたファイルを探し、(設定がコマンドラインオプションにより上書きされない限り)そのファイルに含まれる設定を使用します。

ファイル内では、各設定につき1行ずつ以下の形式で指定する必要があります。

setting=value

構成ファイルを指定できる設定項目を以下に示します。

設定

解説

P4CHARSET

Unicodeファイルの翻訳に使用される文字セット

P4COMMANDCHARSET

P4CHARSETがUTF-16文字セットまたはUTF-32文字セットに設定されている場合に、コマンドラインクライアントで使用されるUTF-16またはUTF-32以外の文字セット

P4CLIENT

現在のクライアントワークスペース名

P4DIFF

p4 resolveおよびp4 diffにより使用される比較プログラムの名前および場所

P4EDITOR

フォームを使用するPerforceコマンドにより起動されるエディタ

P4HOST

クライアントワークステーションのホスト名。現在のクライアントワークスペースのHost:フィールドがp4 clientフォームに設定されている場合にのみ有用です。

P4IGNORE

p4 addコマンドおよびp4 reconcileコマンドの使用時に無視するファイルのリストです。

P4LANGUAGE

この環境変数はシステムインテグレータ用に予約されています。

P4MERGE

p4 resolveのマージオプションで使用するサードパーティのマージプログラムの名前および場所

P4PASSWD

Perforceコマンドに対し、現在のPerforceユーザのパスワードを指定します。

P4PORT

接続先のPerforceサービス(プロキシまたはブローカを含む)のプロトコル、ホスト、およびポート番号

P4TRUST

既知の(信頼された)Perforceサーバのファイルがある場所。このファイルの内容は、p4 trustコマンドを使用して管理します。デフォルトでは、このファイルはユーザのホームディレクトリ内の.p4trustです。

P4USER

現在のPerforceユーザ名

これらの設定についての詳細は、『P4コマンドリファレンス』を参照してください。

Example 1. 構成ファイルを使用して2つのワークスペースを切り替える

オナは同一マシン上にある2つのワークスペースを切り替えます。1番目のワークスペースはona-ashです。これには/tmp/user/onaのクライアントルートがあり、SSL接続を使用してPerforceサービスにssl:ida:1818で接続します。2番目のワークスペースはona-agaveです。そのクライアントルートは/home/ona/p4-onaで、プレーンテキスト接続を使用してPerforceサービスにtcp:warhol:1666で接続します。

オナはP4CONFIG環境変数を.p4settingsに設定します。彼女は/tmp/user/onaに次のテキストを含む.p4settingsというファイルを作成します。

P4PORT=ssl:ida:1818P4CLIENT=ona-ash

彼女は/home/ona/p4-onaに2番目の.p4settingsファイルを作成します。そのファイルには次のテキストが含まれます。

P4PORT=tcp:warhol:1666P4CLIENT=ona-agave

彼女が/tmp/user/ona配下のファイルに対して行う作業は、ssl:ida:1818にあるPerforceサービスにより管理されます。/home/ona/p4-ona配下のファイルに対して行う作業は、tcp:warhol:1666にあるPerforceサービスにより管理されます。

環境変数を使用する

環境変数を使用して接続設定を構成するには、P4PORTを以下の例のようにprotocol:host:portの形式で設定してください。

サービスが稼働している場所

接続を待機しているポート

暗号化プロトコルのサポート

P4PORTの設定

自身のコンピュータ

1666

なし(プレーンテキスト)

localhost:1666

perforce

1666

SSL

ssl:perforce:1666

houston

3435

なし(プレーンテキスト)

tcp:houston:3435

example.com

1818

SSL

ssl:example.com:1818

P4PORTの設定にプロトコルを指定していない場合、tcp: (TCP/IP経由のプレーンテキストでの通信)が想定されます。PerforceサービスがSSLをサポートするように構成されている場合、使用するプロトコルとしてssl:を設定することによりPerforceへの接続を暗号化することができます。

その他のプロトコル(例えば、tcp4:はプレーンテキストのIPv4接続を必要とし、ssl64:は暗号化接続を必要としますが、IPv4よりもIPv6による転送の使用が推奨されます)も、混合ネットワーク環境で使用できます。

詳しくは、IPv6ネットワークで接続するおよび『Perforceサーバ管理者ガイド: 基本』を参照してください。

WindowsのレジストリまたはOS Xのシステム設定を使用する

WindowsおよびOS Xのマシンでは、p4 setコマンドを使用して、接続設定をレジストリ(またはシステム設定)に保存することができます。例:

p4 set P4PORT=ssl:tea.example.com:1667

Perforceの設定をレジストリに構成する方法には以下の2つがあります。

  • p4 set setting=value-現在のローカルユーザ用。

  • p4 set -s setting=value-ローカルマシーン上のすべてのユーザ用。ローカルユーザ用のレジストリ設定によって上書きされることがあります。設定には管理者権限が必要です。

どちらの設定が適用されているかを確認するには、p4 setコマンドを引数なしで使用します。p4 setコマンドについての詳細は、『P4コマンドリファレンス』を参照してください。

クライアントワークスペースを定義する

クライアントワークスペースを定義するには、

  1. P4CLIENTを設定してワークスペース名を指定します。例えばUNIXシステムの場合、以下のようにします。

    $ P4CLIENT=bruno_ws ; export P4CLIENT

  2. p4 clientコマンドを発行します。

    Perforceはクライアントワークスペース仕様フォームをユーザのテキストエディタに表示します。(Perforceのフォームについて詳しくは、Perforceフォームを使用するを参照してください。)

  3. 最小限必要な設定を指定し、仕様を保存します。

クライアント仕様を作成するとき、ファイルは一切同期されません。ファイルをディポからワークスペースに同期する方法については、ファイルの同期(取得)を参照してください。マシン上でのファイルの再配置についての詳細は、ワークスペースの場所を変更するを参照してください。

クライアントワークスペースの構成において最小限指定しなければならない設定は以下のとおりです。

  • ワークスペース名

    ワークスペース名はマシンのホスト名をデフォルトとしますが、ワークステーションには複数のワークスペースを含めることができます。効果的にワークスペースを指定するには、P4CLIENTを設定してください。

  • ワークスペースルート

    クライアントワークスペースルートはクライアントワークスペースの最上位のディレクトリであり、Perforceはそこにディポファイルの作業用コピーを保存します。ワークスペースルートを必ず設定してください。そうしないと、ファイルを不用意に自分のワークステーションのルートディレクトリに同期させてしまう可能性があります。(Windows環境でワークスペースルートを指定する際は、ドライブ文字も含める必要があります。)

    ワークスペースルートディレクトリが存在しない場合は、Perforceアプリケーションがそれを使用できるように事前に作成しておく必要があります。

    @#*%の文字はそれぞれ、Perforceでは特別な意味があります。これらの文字をファイル名またはフォルダ名に使用している場合は、ファイル名と識別子における制限を参照してください。

クライアントワークスペースビューにより、ディポ内のどのファイルがワークスペースにマッピングされるかが決定され、Perforceが個々のディポとワークスペースファイルの間に1対1のマッピングを構成することができます。ディポ内での名前や場所とは異なる名前およびワークスペース内の場所にファイルをマッピングすることができますが、ワークスペースまたはディポ内の複数の場所にファイルをマッピングすることはできません。デフォルトでは、ディポ全体がユーザのワークスペースにマッピングされます。クライアントワークスペースビューを定義し、自分に関係するファイルおよびディレクトリのみをマッピングすることにより、ディポ全体を不用意に自分のワークスペースに同期させないようにすることができます。詳細については、ワークスペースビューを限定するを参照してください。

Example 2. ワークスペースビューを設定する

ブルーノは、p4 clientコマンドを発行して、以下のデフォルトのワークスペースビュー定義を含むフォームを参照します。

Client:      bruno_ws
Update:      2014/05/12 09:46:53
Access:      2014/05/12 10:28:40
Owner:       bruno
Host:        dhcp_24-n102.dhcp.perforce.com
Description: Created by jbruges.
Root:        c:\bruno_ws
Options:     :noallwrite noclobber nocompress unlocked nomodtime normdir
SubmitOptions: submitunchanged
LineEnd: local
View:
         //depot/...     //bruno_ws/...

彼は、ビューを変更してディポの開発部分のみをマッピングするようにします。

View:
         //depot/dev/...     //bruno_ws/dev/...

彼はさらにビューを変更して、ファイルを複数のディポから自分のワークスペースにマッピングします。

View:
         //depot/dev/...     //bruno_ws/depot/dev/...
         //testing/...       //bruno_ws/testing/...
         //archive/...       //bruno_ws/archive/...

接続を確認する

接続状態を確認するには、p4 infoコマンドを発行します。P4PORTが正しく設定されていれば、次のような情報が表示されます。

User name: bruno
Client name: bruno_ws
Client host: workstation_12
Client root: c:\bruno_ws
Current directory: c:\bruno_ws
Peer address; 10.0.102.24:61122
Client address: 10.0.0.196
Server address: ssl:example.com:1818
Server root: /usr/depot/p4d
Server date: 2012/03/28 15:03:05 -0700 PDT
Server uptime: 752:41:33
Server version: P4D/FREEBSD/2012.1/406375 (2012/01/25)
ServerID: Master
Server license: P4Admin <p4adm> 20 users (expires 2015/01/01)
Server license-ip: 10.0.0.2
Case handling: sensitive

Server address:フィールドにはp4が接続しているホスト、およびPerforceサービスが接続を待機しているホスト名とポート番号が表示されます。P4PORTの設定が正しくない場合、次のようなメッセージを受け取ります。

Perforce client error:
   Connect to server failed; check $P4PORT.
   TCP connect to perforce:1666 failed.
   perforce: host unknown.

エラーメッセージの3行目に表示される値がperforce:1666(上記のとおり)である場合、P4PORTが設定されていません。P4PORTを設定して再接続してください。

お使いのインストールでSSL接続が必要とされる場合、P4PORTを確実にssl:hostname:portの形式にしてください。

サービスに最初に接続を試みたとき、サーバのフィンガープリントを検証することを要求されます。フィンガープリントが正しければ、p4 trustコマンドを使用して、フィンガープリントをファイル(P4TRUST環境変数で指定)にインストールします。このファイルには、既知または信頼済みのPerforceサーバとそれぞれのフィンガープリントのリストが保存されます。P4TRUSTが未設定である場合、このファイルはユーザのホームディレクトリ内の.p4trustです。詳細については、SSL暗号化接続を参照してください。

お使いのインストールで(古いPerforceアプリケーションをサポートするため)プレーンテキスト接続が必要とされる場合、P4PORTtcp:hostname:portに設定してください。

IPv6ネットワークで接続する

リリース2013.1以降、Perforceは、IPv4ネットワークと同様にIPv6ネットワークでの接続もサポートしています。

ご使用中のLANまたはWANの構成によって、システム管理者が別のポート設定を推奨する場合があります。また、コマンドラインまたはP4CONFIGファイルを使用して、構成可能変数net.rfc3484を1に設定するよう推奨する場合もあります。

p4 configure set net.rfc3484=1

こうすることによって、プロトコルの値が明示的に指定されていない場合に、RFC3484に準拠した動作が保証されます。つまり、クライアントサイドの構成可能変数net.rfc34841に設定され、P4PORTexample.com:1666、またはtcp:example.com:1666、またはssl:example.com:1666に設定されている場合、ユーザのオペレーティングシステムはそれぞれの接続について、バージョン化サービスとの通信の際にIPv4とIPv6のどちらを使用するかを自動的に決定します。

詳細については、『Perforceサーバ管理者ガイド: 基本』を参照してください。

ワークスペースビューを限定する

デフォルトでは、クライアントワークスペースを作成すると、ディポ全体がマッピングされます。このマッピングをディポの一部のみを参照するように限定し、ディポとワークスペースの場所との対応関係を変更することができます。

ワークスペースビューを表示または変更するには、p4 clientコマンドを発行します。Perforceによりクライアントワークスペース仕様のフォームのView:フィールドにマッピングのリストが表示されます。

Client:  bruno_ws
Owner:   bruno
Description:
         Created by bruno.
Root:    C:\bruno_ws
Options: noallwrite noclobber nocompress unlocked nomodtime normdir
SubmitOptions:   submitunchanged
View:
         //depot/...   //bruno_ws/...

以降のセクションにおいて、クライアントワークスペースビューの指定に関して詳しく説明します。詳細については、『P4コマンドリファレンス』のp4 clientコマンドの解説およびビューの説明を参照してください。

マッピングを指定する

ビューは複数のマッピングで構成され、各マッピングは2つの部分から成ります。

  • 左側には、ディポ内の1つ以上のファイルが次の形式で指定されます。//depotname/file_specification

  • 右側には、クライアントワークスペース内の1つ以上のファイルが次の形式で指定されます。//clientname/file_specification

クライアントワークスペースビューマッピングの左側をディポサイド、右側をクライアントサイドと呼びます。

ワークスペースファイルのワークステーション上での場所を決定するには、クライアントワークスペースルートをマッピングのクライアントサイドのワークスペース名に置き換えてください。例えば、ワークスペースルートがC:\bruno_wsである場合、//depot/dev/main/jam/JamfileファイルはC:\bruno_ws\dev\main\jam\Jamfileとして格納されます。

後のマッピングがそれ以前のマッピングに優先されます。以下の例では、2行目が1行目より優先され、//depot/dev/main/docs/manuals/内のファイルが2階層上にマッピングされます。//depot/dev/main/docs/manuals/内のファイルが同期されると、それらのファイルはc:\bruno_ws\docs\に格納されます。

View:
    //depot/dev/...            //bruno_ws/dev/...
    //depot/dev/main/docs/...  //bruno_ws/docs/...

ワークスペースビューでワイルドカードを使用する

ファイルの集合をワークスペースビューにマッピングするには、Perforceワイルドカードを使用します。マッピングのディポサイドで使用されるワイルドカードは、マッピングのクライアントサイドのワイルドカードと一致する必要があります。クライアントワークスペースでのマッピングの指定には、以下のワイルドカードを使用できます。

ワイルドカード

解説

*

スラッシュを除くすべての文字に一致します。単一のディレクトリ内のみ照合します。お使いのプラットフォームによっては大文字と小文字を区別します。

...

スラッシュを含むすべての文字に一致します。再帰的に(指定されたディレクトリおよびその配下のディレクトリ内すべてを)照合します。

%%1 - %%9

ファイル名のサブ文字列再配置に使用する位置指定子です。

単純なクライアントワークスペースビュー

//depot/dev/... //bruno_ws/dev/...

では、ディポのdevブランチ内のすべてのファイルがクライアントワークスペースの対応する場所にマッピングされます。例えば、ファイル//depot/dev/main/jam/MakefileはワークスペースファイルC:\bruno_ws\dev\main\jam\Makefileにマッピングされます。

Note

ファイルの不必要なマッピングを避けるため、「...」ワイルドカードの前に必ずスラッシュを入れてください。

ワークスペースビュー内のマッピングは常に、ディポ内のファイルおよびディレクトリの場所を示します。ワークスペースビューにあるファイルの特定リビジョンを参照することはできません。

ディポの一部をマッピングする

ディポファイルの一部分だけが必要である場合、その部分をマッピングします。ワークスペースビューの範囲を縮小することにより、コマンドが不用意に全体のディポに影響することも避けられます。ワークスペースビューを制限するには、[View:]フィールドの左側を変更し、ディポの関連部分を指定します。

Example 3. ディポの一部をクライアントワークスペースにマッピングします。

ダイはJamプロジェクトに従事し、Webサイトを保守しているので、[View:]フィールドを次のように設定します。

View:
    //depot/dev/main/jam/...  //dai-beos-locust/jam/...
    //depot/www/live/...      //dai-beos-locust/www/live/...

ファイルをワークスペースの別の場所にマッピングする

ビューは複数のマッピングにより構成することができます。それを使用して、ディポファイルツリーの一部をワークスペースファイルツリーの別の部分にマッピングできます。マッピングが衝突する場合、後のマッピングがそれ以前のマッピングに優先します。

Example 4. 単一のワークスペースビューにおける複数のマッピング。

以下のビューにより、manualsフォルダにあるMicrosoft Wordのファイルが、ワークスペース内で最上位にあるwordfilesというフォルダに格納されます。

View:
    //depot/...                          //bruno_ws/...
    //depot/dev/main/docs/manuals/*.doc  //bruno_ws/wordfiles/*.doc

ファイルを別のファイル名にマッピングする

マッピングにより、ワークスペース内のファイルをディポ内のファイルと異なる名前にすることができます。

Example 5. ファイルをディポ内とワークスペース内で異なる名前にする

以下のビューにより、ディポファイルのRELNOTESがワークスペースファイルのrnotes.txtにマッピングされます。

View:
    //depot/...                   //bruno_ws/...
    //depot/dev/main/jam/RELNOTES //bruno_ws/dev/main/jam/rnotes.txt

ファイル名の一部を再配置する

位置指定子の%%0から%%9を使用して、ファイル名とディレクトリの一部を再配置することができます。

Example 6. 位置指定子を使用してファイル名とディレクトリを再配置します。

以下のビューにより、ディポファイルの//depot/allfiles/readme.txtがワークスペースファイルのfilesbytype/txt/readmeにマッピングされます。

View:
    //depot/allfiles/%%1.%%2  //bruno_ws/filesbytype/%%2/%%1

ファイルおよびディレクトリを除外する

除外マッピングにより、ファイルおよびディレクトリをワークスペースから明示的に除外することができます。ファイルまたはディレクトリを除外するには、マッピングの先頭にマイナス記号(-)を付けます。マイナス記号とマッピングの間にスペースを入れないように注意してください。

Example 7. ビューを使用してファイルをクライアントワークスペースから除外します。

Jamプロジェクトに従事しているアールは、自分のワークスペースにHTMLファイルを同期したくありません。彼のワークスペースビューは次のようになります。

View:
    //depot/dev/main/jam/...        //earl-dev-beech/jam/...
    -//depot/dev/main/jam/....html  //earl-dev-beech/jam/....html

チェンジリストによるアクセスを制限する

クライアントワークスペース仕様の[ChangeView]フィールドにディポのパス名とチェンジリスト番号を入力して、ディポのパスへのアクセスを特定の時点に制限できます。[ChangeView]フィールドで指定されるファイルは読み取り専用です。すなわち、開くことはできますがサブミットはできません。例:

ChangeView:
      //depot/path/...@1000

この例では、//depot/path/...にあるファイルのリビジョンは、チェンジリスト1000の後にサブミットされた場合、表示されません。チェンジリスト1000までにサブミットされたファイルが表示されますが、読み取り専用です。複数のパスを指定できます。

マッピングの衝突を回避する

単一のビューにおいて複数のマッピングを使用するとき、単一のファイルが不用意にディポまたはワークスペースの異なる2つの場所にマッピングされる場合があります。このようにして2つのマッピングが衝突する場合、後のマッピングがそれ以前のマッピングをオーバーライドします。

Example 8. 衝突する誤ったマッピング。

ジョーは次のようにビューを構成しました。

View:
    //depot/proj1/...    //joe/project/...
    //depot/proj2/...    //joe/project/...

2番目のマッピング//depot/proj2/...//joe/projectにマッピングされ、最初のマッピングと衝突します。これらのマッピングの衝突により、最初のマッピングは無視されます。//depot/proj1に含まれているファイルはワークスペースにまったくマッピングされません。そのため//depot/proj2/file.cが存在しなくても、//depot/proj1/file.cはマッピングされません。

異なるディポの場所を1つの同じワークスペースにマッピングする

オーバーレイマッピングにより、2つ以上のディポディレクトリのファイルをワークスペースの同じ場所にマッピングできます。2番目のディレクトリの内容をワークスペースにオーバーレイするには、マッピングの先頭にプラス記号(+)を付けます。

Example 9. 複数のディレクトリを同じワークスペースにオーバーレイする。

ジョーは、ワークスペースを同期するときにプロジェクトのファイルを結合したいので、次のようにビューを構成しました。

View:
    //depot/proj1/...    //joe/project/...
    +//depot/proj2/...   //joe/project/...

オーバーレイマッピングである+//depot/proj2/...//joe/projectにマッピングし、最初のマッピングをオーバーレイします。オーバーレイマッピングは衝突しません。//depot/proj2内のファイル(削除されたファイルも含む)が//depot/proj1内のファイルよりも優先されます。//depot/proj2/file.cが存在しない場合(「存在する」ファイルに相対するが、「削除されたファイル」ではない)、代わりに//depot/proj1/file.cがワークスペースにマッピングされます。

オーバーレイマッピングは、ビルド環境においてスパースパッチを適用する際に役立ちます。

ファイル名およびディレクトリ中におけるスペースの取り扱い

スペースを含むファイルまたはディレクトリは、引用符を使用して囲みます。

Example 10. ファイル名とディレクトリ名のスペースに対応する

ジョーは、ディポ内のファイルをワークスペースにマッピングしたいのですが、いくつかのパスにスペースが含まれています。

View:
    "//depot/Release 2.0/..."   //joe/current/...
    "//depot/Release 1.1/..."   "//joe/Patch Release/..."
    //depot/webstats/2011/...   "//joe/2011 Web Stats/..."

マッピングのサーバサイド、クライアントサイド、または両側で、パスの構成要素の前後に引用符を挿入することにより、ジョーはスペースを含むファイル名やディレクトリ構成要素を指定することができます。

詳細については、ファイル名、パス名、識別子でのスペースの使用を参照してください。

Windowsのワークスペースを複数のドライブにマッピングする

複数のWindowsドライブにわたってワークスペースを指定するには、Root:nullに設定し、ワークスペースビューでドライブ文字を(小文字で)指定します。例:

Client:     bruno_ws
Update:     2011/11/29 09:46:53
Access:     2011/03/02 10:28:40
Owner:      bruno
Root:       null
Options:    noallwrite noclobber nocompress unlocked nomodtime normdir
SubmitOptions: submitunchanged
LineEnd:    local
View:
    //depot/dev/...      "//bruno_ws/c:/Current Release/..."
    //depot/release/...  "//bruno_ws/d:/Prior Releases/..."
    //depot/www/...      //bruno_ws/d:/website/...

同一のワークスペースを異なるマシンで使用する

デフォルトでは、Host:フィールドで指定されたマシン上のワークスペースのみが使用できます。同一のワークスペースを異なるプラットフォームの複数のマシン上で使用したい場合、クライアントワークスペース仕様のHost:項目を削除し、AltRoots:フィールドを設定してください。ワークスペースルートは2つまで指定できます。指定する場所は、例えばNFSまたはSambaマウントを介して、使用するすべてのマシンから参照可能である必要があります。

Perforceは現在の作業ディレクトリを最初にメインのRoot:と比較し、指定されている場合は次に2つのAltRoots:と比較します。現在の作業ディレクトリと一致する最初のルートが使用されます。ルートが一致しない場合、メインルートが使用されます。

Note

ワークスペースルートにWindowsのディレクトリを使用している場合、そのWindowsのディレクトリをメインのクライアントRoot:に指定し、他のワークスペースルートディレクトリをAltRoots:フィールドに指定してください。

以下の例において、ユーザbrunoの現在の作業ディレクトリが/usr/brunoの下である場合、Perforceはc:\bruno_wsではなくUNIXのパスをワークスペースルートとして使用します。この手法により、brunoはUNIXとWindowsの両開発環境において同一のクライアントワークスペース仕様を使用することができます。

Client: bruno_ws
Owner:  bruno
Description:
        Created by bruno.
Root:   c:\bruno_ws
AltRoots:
        /usr/bruno/

どちらのワークスペースルートが適用されているか確認するには、p4 infoコマンドを発行してClient root:フィールドをチェックします。

同一のワークスペースにあるテキストファイルを異なるプラットフォームから編集する場合、使用するエディタおよび設定で行末が保持されることを確認してください。異なるプラットフォーム間での行末コード設定に関して詳しくは、『行末コードを設定する』を参照してください。

自動的にワークスペースから空のディレクトリを削除する

デフォルトでは、Perforceは空のディレクトリをワークスペースから削除しません。この動作を変更するには、p4 clientコマンドを実行し、Options:フィールドにおいて、オプションnormdirrmdirに変更します。

ワークスペースオプションの変更に関して詳しくは、ワークスペースオプションを構成するを参照してください。

ワークスペースの場所を変更する

ワークスペース内のファイルの場所を変更するには、p4 clientコマンドを発行して[Root:]フィールドおよび[View:]フィールドの一方または両方を変更してください。これらの設定を変更する前に、(作業状態のファイルをサブミットまたは復元することにより)チェックアウトされているファイルがないようにしてください。

両方のフィールドを変更する場合、以下の手順により、ワークスペースのファイルが正しく配置されるようにしてください。

  1. ファイルをワークスペース内の古い場所から削除するため、p4 sync ...#noneコマンドを発行します。

  2. [Root:]フィールドを変更します。(新しいクライアントワークスペースのルートディレクトリは、ファイルをそこに取り込む前にワークステーション上に存在していなければなりません。)

  3. ファイルをワークスペース内の新しい場所にコピーするため、p4 syncコマンドを発行します。(ワークスペースビューを変更する前にp4 sync ...#noneを実行するのを忘れても、後から手動でファイルを元のクライアントワークスペースから削除することができます)。

  4. [View:]フィールドを変更します。

  5. 再度、p4 syncを実行します。クライアントワークスペース内のファイルが新しい場所に同期されます。

ワークスペースオプションを構成する

ワークスペースの[Options:]フィールドの詳細を以下の表に示します。

オプション

解説

デフォルト

[no]allwrite

作業状態になっていないファイルは常に書き込み可能とするかを指定します。デフォルトでは、Perforceサーバは作業状態になっていないファイルを読み取り専用にします。ファイルの不用意な上書きや同期の失敗を防ぐため、noallwriteを指定してください。

allwriteが設定されると、作業状態になっていないファイルは現在のユーザによる書き込みが可能な状態のままになります。複数システムのユーザから書き込み可能であるようにファイルシステムのパーミッションを設定することはありません。

allwriteおよびnoclobberのどちらも設定されている場合、Perforceサーバはセキュリティ保護された同期を実行し、クライアントワークスペースの内容を、最後に同期された内容と比較します。Perforceの管理外でファイルが変更されていた場合、エラーメッセージが表示され、ファイルは上書きされません。

noallwrite

[no]clobber

p4 syncの実行時、作業状態になっていない書き込み可能なワークスペースファイルを上書きするかを指定します。(デフォルトでは、作業状態になっていないファイルが書き込み可能である場合、Perforceはそれを上書きしません。)

allwriteおよびnoclobberのどちらも設定されている場合、Perforceサーバはセキュリティ保護された同期を実行し、クライアントワークスペースの内容を、最後に同期された内容と比較します。Perforceの管理外でファイルが変更されていた場合、エラーメッセージが表示され、ファイルは上書きされません。

noclobber

[no]compress

ワークステーションとPerforceサービスの間で送信されるデータを圧縮するかを指定します。

nocompress

[un]locked

他のユーザによりクライアントワークスペース仕様の使用、編集または削除が可能であるかを指定します。Perforce管理者は-f (force)オプションを使ってロックをオーバーライドすることができます。

クライアントワークスペース仕様をロックする場合、必ずワークスペース所有者のパスワードをp4 passwdコマンドにより設定してください。

unlocked

[no]modtime

+m (modtime)ファイルタイプ修飾子を持たないファイルの場合、modtimeが設定されていると、ファイルがディポにサブミットされたときにファイルに表示された日付が、新たに同期された(ローカルファイルシステム上の)ファイルの更新日になります。nomodtimeが設定されている場合、同期の日時が更新日になります。

+m (modtime)ファイルタイプ修飾子を持つファイルの場合、クライアントのmodtimeまたはnomodtimeの設定に関係なく、ファイルがディポにサブミットされたときにファイルに表示された日付が、新たに同期された(ローカルファイルシステム上の)ファイルの更新日になります。

nomodtime (同期の日時)

ファイルタイプ修飾子+mが付いているファイルでは無視。

[no]rmdir

ディレクトリ内のすべてのファイルが削除された場合、p4 syncによりワークスペース内の空のディレクトリを削除するかを指定します。

normdir

サブミットオプションを設定する

チェンジリストをディポにサブミットするとき、チェンジリスト内のファイルをどのように扱うかを制御するには、SubmitOptions:フィールドを設定します。有効な設定を以下に示します。

オプション

解説

submitunchanged

すべての作業状態のファイル(変更の有無にかかわらず)がディポにサブミットされます。

これはPerforceのデフォルトの動作です。

submitunchanged+reopen

すべての作業状態のファイル(変更の有無にかかわらず)がディポにサブミットされ、すべてのファイルが自動的にデフォルトチェンジリストで再度作業状態にされます。

revertunchanged

内容またはファイルタイプが変更されたファイルのみがディポにサブミットされます。未変更のファイルは元に戻します。

revertunchanged+reopen

内容またはファイルタイプが変更されたファイルのみがディポにサブミットされ、デフォルトチェンジリストで再度作業状態にされます。未変更のファイルは元に戻しますが、デフォルトチェンジリストでは作業状態にされません

leaveunchanged

内容またはファイルタイプが変更されたファイルのみがディポにサブミットされます。未変更のファイルはデフォルトチェンジリストに移動されます。

leaveunchanged+reopen

内容またはファイルタイプが変更されたファイルのみがディポにサブミットされます。未変更のファイルはデフォルトチェンジリストに移動され、変更済みのファイルはデフォルトチェンジリストで再度作業状態にされます。

このオプションはsubmitunchanged+reopenと似ていますが、未変更のファイルはディポにサブミットされません。

行末コードを設定する

テキストファイルを同期するとき、行末をどのように変換するかを指定するには、LineEnd:フィールドを設定します。有効な設定を以下に示します。

オプション

解説

local

クライアントにネイティブモードを使用(デフォルト)

unix

UNIX形式(およびMac OS X)の行末識別: LF

mac

OS Xより前のバージョンのMacの行末識別: CRのみ

win

Windows形式: CRLF

share

shareオプションは、混在した行末をUNIXの行末形式に標準化します。shareオプションはクライアントワークスペースに同期されたファイルには影響しません。しかし、ファイルがPerforceサービスにサブミットして戻される際、shareオプションによりWindows形式の行末であるCR/LFおよびMac形式の行末であるCRはすべてUNIX形式のLFに変換され、LFはそのまま残されます。

クライアントワークスペースの同期の際、行末はLFに設定されます。ファイルをWindowsマシンで編集する場合、エディタにより各LFの前にCRが挿入されても、追加されたCRはアーカイブファイル内には現れません。

一般にshareオプションの使用が適しているのは、UNIXのホームディレクトリをネットワークドライブとしてマウントしたWindowsワークステーションのユーザが、ファイルの同期はUNIXから行い、編集はWindowsマシン上で行うような場合です。

Perforceによる行末設定の使用方法に関して詳しくは、Perforceナレッジベースの「CR/LF Issues and Text Line-endings」を参照してください。

http://answers.perforce.com/articles/KB_Article/CR-LF-Issues-and-Text-Line-endings

クライアントワークスペース仕様を削除する

ワークスペースを削除するには、p4 client -d clientnameコマンドを発行します。クライアントワークスペースを削除すると、Perforceのワークスペースレコードについての記録が削除されますが、ワークスペースやディポから実際にファイルが削除されることはありません。

ワークスペース仕様を削除する手順を以下に示します。

  1. このワークスペースに関連する作業中または保留されたチェンジリストを元に戻すか、サブミットします。

  2. クライアントワークスペースから既存のファイルを削除します(p4 sync ...#none)。(任意)

  3. ワークスペース仕様を削除します。

ワークスペースからファイルを削除する前にワークスペース仕様を削除する場合、お使いのオペレーティングシステムのファイル削除コマンドを使用してワークスペースのファイルを削除できます。

セキュリティ

セキュリティを確保するため、Perforce管理者はPerforceサービスがSSL暗号化接続およびユーザパスワードを要求するようにし、ログインチケットの有効期間を制限するように設定できます。設定について、次のセクションで詳しく説明します。

SSL暗号化接続

お使いのインストールでSSL接続が必要とされる場合、P4PORTを確実にssl:hostname:portの形式にしてください。SSL接続が有効にされたPerforceサーバでプレーンテキストによる通信を行おうとすると、次のエラーメッセージが表示されます。

Failed client connect, server using SSL.
Client must add SSL protocol prefix to P4PORT.

P4PORTssl:hostname:portに設定して、サーバに再接続を試みてください。

SSLが有効にされているサーバに最初に暗号化接続を確立したときに、サーバのフィンガープリントを検証するように要求されます。

The authenticity of '10.0.0.2:1818' can't be established,
this may be your first attempt to connect to this P4PORT.
The fingerprint for the key sent to your client is
CA:BE:5B:77:14:1B:2E:97:F0:5F:31:6E:33:6F:0E:1A:E9:DA:EF:E2

サイトの管理者は、表示されたフィンガープリントが正しいか否かを確認することができます。フィンガープリントが正しい場合(に限り)、p4 trustコマンドを使用してそのフィンガープリントを自分のP4TRUSTファイルに追加します。P4TRUSTが未設定である場合、このファイルはユーザのホームディレクトリ内の.p4trustであると想定されます。

$ p4 trust
The fingerprint of the server of your P4PORT setting
'ssl:example.com:1818' (10.0.0.2:1818) is not known.
That fingerprint is
CA:BE:5B:77:14:1B:2E:97:F0:5F:31:6E:33:6F:0E:1A:E9:DA:EF:E2
Are you sure you want to establish trust (yes/no)?
Added trust for P4PORT 'ssl:example.com:1818' (10.0.0.2:1818)

フィンガープリントが正しければ、yesと入力してこのサーバを信頼します。フィンガープリントを直接コマンドラインからtrustファイルにインストールすることも可能です。次のコマンドを実行します。

p4 trust -p ssl:hostname:port -i fingerprint

ただし、ssl:hostname:portはお使いのP4PORTの設定に該当し、fingerprintはサイトの管理者が確認したフィンガープリントに該当します。

これ以降は、example.com:1818のサーバがP4TRUSTファイル内に記録されたものと同じフィンガープリントを報告し続ける限り、ssl:example.com:1818へのSSL接続が信頼されます。

Perforceサーバが信頼済みのものとは異なるフィンガープリントを報告すると、次のエラーメッセージが表示されます。

******* WARNING P4PORT IDENTIFICATION HAS CHANGED! *******
It is possible that someone is intercepting your connection
to the Perforce P4PORT '10.0.50.39:1667'
If this is not a scheduled key change, then you should contact
your Perforce administrator.
The fingerprint for the mismatched key sent to your client is
18:FC:4F:C3:2E:FA:7A:AE:BC:74:58:2F:FC:F5:87:7C:BE:C0:2D:B5
To allow connection use the 'p4 trust' command.

このエラーメッセージは、そのサーバのフィンガープリントがP4TRUSTファイルに保存されたものから変更されていることと、サーバのSSL証明書が変更されていることを示します。

フィンガープリントへの変更が正当なものである場合でも(例えば、サーバのSSL証明書の有効期間を管理者が制御している場合に証明書が期限切れになっている可能性があるとき)、セキュリティリスクの存在を示すことがあります。

Warning

このエラーメッセージが表示され、Perforce管理者からサーバのキーと証明書のペアを変更したいという連絡がない場合、報告されたフィンガープリントが正しいかユーザが個別に検証しなければなりません。

新しいフィンガープリントの正確さを個別に(会社のイントラネットサイトで確認するか、個人的に管理者に問い合わせるなど、帯域外の手段を用いて)確認できない場合は、変更されたフィンガープリントを信頼してはなりません。

プレーンテキスト接続を必要とするサービスに接続する

お使いのPerforceインストールで(古いPerforceアプリケーションをサポートするため)プレーンテキスト接続が必要とされる場合、P4PORTtcp:hostname:port.に設定してください。プレーンテキスト接続を予期するサービスSSLを使用して接続しようとすると、次のエラーメッセージが表示されます。

Perforce client error:
    SSL connect to ssl:host:port failed (Connection reset by peer).
    Remove SSL protocol prefix from P4PORT.

P4PORTtcp:hostname:portに(または、リリース2011.1以前のアプリケーションを使用している場合はP4PORThostname:portに)設定して、サービスへの再接続を試みてください。

パスワード

Perforceインストールが適用しているセキュリティレベルによって、Perforceコマンドを実行する前にPerforceにログインする必要がある場合があります。パスワードを使用しないと、どのユーザもP4USERの値を別のユーザ名に設定したり、-uオプションを付けてp4コマンドを発行したりすることにより、他のPerforceユーザとして操作することが可能になってしまいます。セキュリティを向上させるには、パスワードを使用してください。

パスワードを設定する

Perforceユーザにパスワードを作成するには、p4 passwdコマンドを発行してください。

パスワードの長さは1024文字までです。システム管理者は、Perforceが「強力な」パスワードを要求するように設定することができ、パスワードの最小文字数を指定できます。デフォルトのパスワードが与えられている場合は、ユーザがPerforceを最初に使用する前にパスワードの変更を必須とするように管理者がさらに設定できます。

Perforceサービスではデフォルトで、パスワードが8文字以上で以下の条件の2つ以上に該当していれば、そのパスワードは強力であると定義されています。

  • パスワードに大文字が含まれている

  • パスワードに小文字が含まれている

  • パスワードにアルファベット以外の文字が含まれている

パスワードの最小文字数が8文字である環境では、例えばa1b2c3d4A1B2C3D4aBcDeFgHといったパスワードは強力であるとみなされます。

パスワードのリセットや削除を行うには(パスワードを知らない場合)、Perforceのスーパーユーザ権限が必要です。パスワードをリセットする必要が生じた場合は、Perforce管理者に連絡してください。詳しくは、『Perforceサーバ管理者ガイド: 基本』を参照してください。

パスワードを使用する

Perforceユーザにパスワードが設定されている場合、p4コマンドを発行する際にはそのパスワードを使用しなければなりません。パスワードを使用するには、次のいずれかの方法を用います。

  • 他のコマンドを発行する前にp4 loginコマンドを発行し、Perforceにログインする

  • 環境設定または構成ファイルにおいて、P4PASSWDに自分のパスワードを設定する

  • p4コマンド発行時に-P passwordオプションを指定する(例: p4 -P mypassword submit)

  • WindowsまたはOS Xの場合: p4 set -sコマンドを使用してパスワードを保存します。セキュリティレベルの高いサイトにはお奨めしません。Perforce管理者はこの機能を無効にすることができます。

接続時間の制限

Perforce管理者は、ユーザに対して時間制限を設定するようにPerforceサービスを構成することができます。Perforceではチケットベースの認証を使用して時間制限を設定します。チケットベースの認証は環境変数やコマンドラインオプションに依存しないため、パスワードベースの認証より安全です。

チケットはユーザのホームディレクトリ内のファイルに保存されます。チケットはログイン後、制限時間(デフォルトでは12時間)が経過するまで有効です。

ログインおよびログアウト

サイトに時間制限が適用されている場合、p4 loginコマンドを発行してチケットを取得しなければなりません。パスワードプロンプトにパスワードを入力してください。ログインに成功すると、チケットがホームディレクトリ内のチケットファイルに作成されます。チケットの有効期限が切れるか、p4 logoutコマンドの発行によりログアウトするまで、再ログインは要求されません。

ログインが切れるまでの時間を確認するには、次のコマンドを発行します。

p4 login -s

チケットが有効である場合、残り時間が表示されます。チケットの有効期間を延長するには、ログインしている間にp4 loginを使用します。チケットの有効期間は、初期タイムアウト設定値の1/3だけ延長されます。そのため、延長は初期タイムアウト設定の最大値に依存します。

Perforceからログアウトするには、以下のコマンドを発行します。

p4 logout

複数のマシンを使用して作業する

デフォルトでは、チケットはログインしたマシンのIPアドレスに対してのみ有効です。(多くのUNIX環境にみられるように) 1つのホームディレクトリを共有する複数のマシンからPerforceを使用する場合、次のコマンドによりログインします。

p4 login -a

p4 login -aを使用すると、チケットはすべてのIPアドレスから有効なホームディレクトリ内に作成されるため、Perforceに複数のマシンからログインすることができます。

すべてのマシンから同時にログアウトするには、次のコマンドを発行します。

p4 logout -a

p4 loginおよびp4 logoutコマンドに関して詳しくは、『P4コマンドリファレンス』を参照してください。

Unicodeで作業する

PerforceサービスをUnicodeモードで起動して、Unicode文字を含むファイル名やディレクトリ名、およびUnicode文字を含むPerforce識別子(ユーザ名など)や仕様(チェンジリストの説明またはジョブ)に対するサポートを有効にすることができます。

UnicodeモードのPerforceサービスは、Unicodeのファイルおよびメタデータをユーザのワークステーション上で構成された文字セットに変換し、unicodeファイルやメタデータに有効なUTF-8の文字が含まれていることを検証します。

Note

Unicode文字を含むテキストファイルの管理だけが必要で、上述した機能が必要ない場合は、PerforceをUnicodeモードで動作させる必要はありません。お使いのサイトがUnicodeモードを使用しているかどうかは、システム管理者に問い合わせてください。

これらのインストールでは、Perforceファイルタイプのutf16をUnicode文字を含むテキストファイルに割り当てます。環境変数のP4CHARSETまたはP4COMMANDCHARSETを設定する必要はありません。詳細については、Unicodeのファイルにファイルタイプを割り当てるを参照してください。

Unicodeモードのサーバ間で適切に相互運用を行うため、またファイルの同期やサブミットの際にそのようなファイルがPerforceサービスによって正しく変換されるように、P4CHARSETをテキストエディタやIDEなどそれらにアクセスするアプリケーションによってワークステーションで使用される形式に対応した文字セットに設定しなければなりません。これらの形式は通常、[名前を付けて保存...]メニューオプションを使用してファイルを保存する際に一覧表示されます。

utf16またはutf32で始まるP4CHARSETの値については、さらにサーバ出力を表示させるutf16またはutf32以外の文字セットにP4COMMANDCHARSETを設定する必要があります。「サーバ出力」には、情報やエラーのメッセージ、差分出力、およびレポート作成コマンドにより返される情報が含まれます。

有効なP4CHARSETの値を一覧表示するには、p4 help charsetコマンドを実行します。

詳細については、『Perforceサーバ管理者ガイド: 基本』を参照してください。

Windows環境でP4CHARSETを設定する

あるワークステーションのすべてのユーザにP4CHARSETを設定するには、Windowsの管理者権限が必要です。次のコマンドを実行してください。

p4 set -s P4CHARSET=character_set

現在ログインしているユーザにP4CHARSETを設定するには、次のコマンドを実行します。

p4 set P4CHARSET=character_set

お使いのワークステーションに、TrueTypeまたはOpenTypeのフォントがインストールされている必要があります。

UNIX環境でP4CHARSETを設定する

コマンドシェルまたは.kshrc.cshrc.profileなどの起動スクリプトにP4CHARSETを設定することができます。P4CHARSETの適切な値を決定するには、LANGまたはLOCALEの環境変数の設定を調べます。一般的な設定を以下に示します。

LANGの設定

P4CHARSETの設定

en_US.ISO_8859-1

iso8859-1

ja_JP.EUC

eucjp

ja_JP.PCK

shiftjis

通常は、日本語のインストールではP4CHARSETeucjpに設定し、ヨーロッパ言語のインストールではP4CHARSETiso8859-1に設定します。