テクニカルノート020  


PERFORCEで複数のプロジェクトを設定する

概要

PERFORCEで複数のプロジェクトを設定する場合の推奨事項

詳細

これを実現する方法には、以下の3つがあります。
  1. 各プロジェクトを、単一のディポ内で別々のディレクトリに配置する
  2. 各プロジェクトを、単一のPERFORCEサーバ内で別々のディポに配置する
  3. 各プロジェクトを、それぞれ専用のPERFORCEサーバに配置する
    各プロジェクトを、単一のディポ内で別々のディレクトリに配置する

    この方法では、すべてのプロジェクトは//depotディレクトリの下に置かれます。 例えば、サーバ、管理インターフェース、およびブラウザ・アプリケーションの3つの製品を 開発しているとします。その場合、このようにプロジェクトを設定することが考えられます。
            //depot/server/...
            //depot/admin/...
            //depot/browser/...
                  
    上述したパスの1つ以上にクライアント・ワークスペースをマッピングして、 これらのプロジェクトで作業を行うことができます。 ワークスペースを特定のプロジェクト専用にして、ユーザがプロジェクトごとに 別々のワークスペースを設定することも、同じクライアント・ワークスペース内で すべてのプロジェクトを操作することもできます。PERFORCEのスーパーユーザは、 プロジェクトごとに権限を設定してユーザ・アクセスを制限することができます。 またPERFORCEのスーパーユーザは、すべてのプロジェクトにアクセスし、 制御することができます。


    各プロジェクトを、単一のPERFORCEサーバ内で別々のディポに配置する

    この方法では、各プロジェクトに対して別々のディポを作成します。 プロジェクト・パスは以下のようになります。
            //server/...
            //admin/...
            //browser/...
                  
    クライアント・ワークスペースと権限については、1番目の方法と全く同様に動作します。 同じPERFORCEデータベースが、すべてのプロジェクトのステータスおよび履歴の保存に使用されます。 事実上、この方法で大きく異なる点は、PERFORCEサーバのP4ROOTディレクトリの中で、 各プロジェクトが専用のサブディレクトリに置かれているということだけです。 サーバがUNIX環境で動作している場合、これによって、シンボリック・リンクを使用して 各サブディレクトリを別々のファイルシステム上に配置することができます。 それ以外の場合は、この方法と1番目の方法のどちらを選択するかは単に好みの問題になります。


    各プロジェクトを、それぞれ専用のPERFORCEサーバに配置する

    この方法では、3つの異なるプロジェクトがある場合、3つのPERFORCEサーバに対して専用のサーバ、 専用のP4ROOTディレクトリ、専用のデータベースなどを別々にインストールすることになります。

    長所:
    各プロジェクトは、完全にそれ自身のスーパーユーザの制御下に置かれます。
    各プロジェクト専用のサーバを、そのユーザに最も近いLANにインストールすることができます。
    1つのプロジェクトを大量に使用しても、他のプロジェクトには影響を与えません。

    短所:
    ユーザは、一度に1つのプロジェクトだけを操作可能です。
    各プロジェクトに対し、個別にPERFORCE管理者が必要となります。
    プロジェクト間でのファイルのコピーおよび変更のマージには、リモート・ディポのサポートを使用する必要があります。詳しくは、 テクニカルノート030:リモート・ディポの使用 をご覧ください。
    別のプロジェクトの変更履歴などを参照するには、P4PORTの設定を切り換える必要があります。 共通のツールを、すべてのプロジェクトで複製する必要があります。 (あるいは、さらにもう1つのプロジェクトを設定して、共通のツールを格納する必要があります。)

    何らかの開発部分がプロジェクト間で共有されている場合には、それらを異なるサーバに 置くことはお勧めしません。しかし、プロジェクトが互いに完全に独立している場合は、 この方法が適切であるかもしれません。
    戻る