Helix Coreを用いた分散バージョン管理を行うための環境構築から利用手順を紹介します。
以下は、Helix Coreサーバ 2017.2、Helix Visual Clietn P4V 2017.3を使用した例で説明しています。
DVCSは、Gitに近いの開発環境を実現する機能です。
※DVCS: Distributed Version Control System
既存のHelixサーバに保持しているファイルの一部、あるいはすべてをサブセットとして切り出し、個人用のサーバでバージョン管理します。
ファイルの切り出し元にしたHelixサーバを、共有サーバと呼びます。
個人サーバに接続したクライアントで、チェックアウトやサブミットを実行できます。
共有サーバ上で更新された情報を個人サーバに取り込んだり、個人サーバで行った変更を共有サーバに登録したりできます。
共有サーバから必要な情報(ファイル)を切り出し、個人サーバ上でバージョン管理します。
これにより、以下のメリットがもたらされます。
共有サーバが地理的に離れた拠点に存在する場合、共有サーバに接続することなく開発作業を進められます。
DVCS環境は、次のようなケースにおいて有効です。
1つの修正タスクに対して、個人的には細かい変更ごとに差分を登録しておきたいが、Helix Coreサーバ(共有サーバ)上には細かい中間作業の記録を残したくない場合
個人サーバでバージョン管理したいファイルセットを、既存のHelix Coreサーバから切り出します。
複数箇所を選択することも可能です。
切り出したファイルセットは、個人サーバ上のストリームとして構築されます。
ここでは、ユースケース「1つの修正タスクに対して、個人的には細かい変更ごとに差分を登録しておきたいが、Helixサーバ(共有サーバ)上には細かい中間作業の記録を残したくない場合」に基づいて個人サーバを構築し、利用する際の手順をご説明します。 |
個人サーバを構築し、構築後に利用する手順となります。
作業の流れは以下の通りです。
共有サーバに接続して操作します。
共有サーバから切り出して、個人サーバ上に保持したいディレクトリを選択して右クリックし、[ クローン ]を選択します。
▼共有サーバ上の" //depot/Jam/..."を切り出す図
[ クローン ]ダイアログで、リモートマッピングの[ 新規 ]ボタンをクリックします。
個人サーバの構成を決定するための、[ リモートマッピング ]フォームが表示されます。
表示されたリモートマッピングに、[ ディポマッピング ]フィールドの設定をします。
個人サーバのパス、リモートサーバのパス(共有サーバ)を記述します。
[ クローン ]ダイアログに戻り、[ クローンディレクトリ ]フィールドに配置場所を入力します。
指定したクローンディレクトリに、個人サーバでは次の情報を保持します。
パフォーマンスの観点から、ローカルのディスク領域を指定することをお勧めします。
[ クローン ]ボタンをクリックして、個人サーバを構築します。
構築した個人サーバの" //stream/dev/..." には、共有サーバの" //depot/Jam/..." が切り出され、保持されます
他のユーザが変更した共有サーバ上のファイルを、個人サーバに取り込みます。(この操作をフェッチと呼びます)
取り込んだファイルを、個人サーバ上で変更(チェックアウト/サブミット)します。
個人サーバ上で変更したファイルを、共有サーバに登録します。(この操作をプッシュと呼びます)
共有サーバに登録した情報は、他のユーザから参照できるようになります。
個人サーバ上に保持するファイルセットから、特定のディレクトリやファイルを除外することができます
|
記述例:
//stream/dev/... | //depot/Jam/... |
-//stream/dev/test/... | //depot/Jam/test/... |
-//stream/dev/....iso | //depot/Jam/....iso |
上記の意味は、" //depot/Jam/... " 配下のファイルを保持しますが、以下については、保持の対象から除外する記述例です。
//depot/Jam/test/...
すべての .iso ファイル
個人サーバ上に保持するファイルにおいて、保持するリビジョン数を制限することができます。
|
記述例:
//stream/dev/bin/... | 10 |
//stream/dev/....zip | 1 |
上記の意味は、以下です。
" //depot/Jam/bin/... " については、最新の10リビジョンのみを保持します。
すべての .zip ファイルについては、最新リビジョンのみを保持します。