バージョン管理実装としてのHelixサーバ
Helixサーバ は、クライアントサーバアーキテクチャを使用してバージョン管理を 実装します。
- Helixサーバ は、
Helix Coreサーバ
または
p4d
とも呼ばれ、バージョン管理下にあるすべてのファイルの すべてのリビジョンが格納されている共有ファイルリポジトリまたはディポを 管理します。ファイルは、ディレクトリのツリー構造内に保存されます。サーバには、 ファイルとクライアント操作に関連付けられているデータ (ログ、ユーザ権限、メタデータ、構成値など)を追跡するためのデータベースが 保管されます。 -
Helixサーバクライアント には、ユーザ自身および同時に作業を行っている他のユーザがディポ内のファイルのチェックインとチェックアウト、 衝突の解決、変更要求の追跡などを行うためのインターフェイスが 用意されています。
Helixサーバ クライアントには、コマンドラインクライアント(
p4
)やグラフィカルユーザインターフェイスなど、さまざまな クライアント(P4V
)が付属しています。また、商用のIDEと生産性ソフトウェアと連携する各種の プラグインも付属しています。 Helixサーバ サーバは、 Helixサーバ クライアントの混合環境にサービスを提供できます。Helixサーバ クライアントを使用して、ワークスペースと呼ばれる、コンピュータの特殊な領域を管理することができます。 ディポ内のファイルは、ワークスペース内のファイルにマッピングされます。ワークスペースには、 管理対象ファイルのローカルコピーが保存されます。そのため、ワークスペース内では 常に管理対象ファイルで作業を行うことになります。
- ディポからファイルをチェックアウトし、ワークスペースに チェックインします。
- ファイルを修正します。
- 変更後のファイルをディポにチェックインします。
- サブミットしようとしている変更が、他のユーザによる変更と 衝突 している場合、その衝突を 解決する必要があります。
次の図は、ディポファイル(左に表示)およびワークスペースファイル (右に表示)間のマッピングを示します。ファイルがディポから チェックアウトされるまでは、ワークスペースで読み取り専用のままです。 Helixサーバ がワークスペースを更新し、ディポの現在の作業を 反映するようにするには、最新リビジョンのファイルを取得してワークスペースを ディポに同期します。
ディポのファイルのチェックインとチェックアウトについて説明しましたが、 単一ファイルをチェックインおよびチェックアウトすることをお勧めします。ディポのファイルのチェックインとチェックアウトを行うには、 チェンジリスト を使用します。チェンジリストには、1つ以上のファイルが含まれている必要があります。チェンジリストには 数万におよぶファイルを含めることができます。チェンジリストには番号が付いているため、 ファイルの修正、追加、削除について、ディポの内容に関するすべての 変更を追跡することができます。
チェンジリストは、作業内容を管理するための最も単純な方法です。チェンジリストは、 Helixサーバにおける作業の最小単位でもあります。 チェンジリストに複数のファイルが含まれている場合、 それらすべてのファイルに対する変更がディポにサブミットされるか、いずれの変更もサブミットされないか、どちらかの動作になります。例えば、 チェンジリストのサブミット中にクライアントとサーバ間のネットワーク接続で 障害が発生した場合、サブミット全体が失敗します。