Perforce Helix Coreワークスペースの作成方法
はじめに
Helix Core (旧名Perforce)とは、大規模バイナリデータを高速で扱えることを強みとする。アセット(ファイル)のバージョン管理ツールです。
このHelix Coreを使い始めるうえで一番の関門になるのが ワークスペース です。
Helix Coreでアセット群のバージョン管理を始めるためには、各ユーザが ワークスペース を作成しなければならないのですが、Helix Core固有の用語および概念であるため、何から手を付けて良いのか戸惑ってしまいます。
そこで、この記事ではWindows上で制作活動を行う場合を例にして、ワークスペース と ワークスペースの作成方法 を解説します。
押さえるべきポイント
制作環境と格納庫
ワークスペースを理解するうえで重要になるのが、次の2つとその関係性です。
- アセット群の制作環境である手元のマシン
- アセット群の格納庫であるHelix Coreサーバ
制作したアセット群の格納場所
より具体的には、次の2つを正しく理解して関係性を把握する必要があります。
- 手元のマシンのどこに制作したアセット群があるのか?
- 制作したアセット群をHelix Coreのどこに格納したいのか?
以降でこれらのポイントをさらに具体化します。
どこから来て、どこへ行くのか
手元のマシンのどこに制作したアセット群があるのか?
制作したアセット群は通常以下のディレクトリに存在します。
- 制作したアセット群の出力先を明示的に指定していない場合は、制作に使用しているツールのプロジェクトディレクトリ内
- 制作したアセット群の出力先を明示的に指定している場合は、指定ディレクトリ内
このディレクトリを探して覚えておきます。
制作したアセット群をHelix Coreのどこに格納したいのか?
- 自分自身が管理しているHelix Coreサーバの場合は、自分自身で自由に格納場所を決定することができます。
- 自分以外が管理しているHelix Coreサーバの場合は、管理者またはチームメンバに推奨の格納場所を確認して下さい。
この格納場所を理解するうえで、格納庫の理解が欠かせません。
格納庫の確認
ワークスペースを作成しない限りアセット群のバージョン管理はできませんが、格納庫の状態は確認できます。
専用GUIクライアントであるP4VでHelix Coreにログインすると、下図のように画面左に参照可能な格納庫の一覧(depotなど)がドラムのアイコンと共に表示されます。
さらに、ドラムを展開すると下図のように格納庫内のディレクトリが表示されます。
格納庫と格納場所の決定
ここまでを理解したうえで、格納場所のディレクトリを決めます。
ただし、格納庫内に目的の格納場所が存在していなくても構いません。
むしろ、アセット群を一度も登録していない場合は、中間のディレクトリも含めてHelix Coreサーバ内に格納場所のディレクトリが存在していない可能性の方が高くなります。
格納場所のディレクトリは //格納庫名/ディレクトリパス と表記し、P4Vでは下図のように表示されます。
このディレクトリが存在する場合は覚えておきます。
存在しない場合は目的の格納先を決めて、その //格納庫/ディレクトリパス を控えておきます。
ワークスペースの作成
ようやくワークスペースを作成するための準備が整いました。
今までのことを踏まえてワークスペースの役割を説明し、ワークスペースを作成します。
ワークスペースの役割
Helix Coreでは、格納庫の中にあるアセット群のうち、一部のアセット群のみを取り出してバージョン管理をすることができます。
この取り出し範囲の情報や、取り出し範囲内のファイルを現在どのように扱っているのかといった情報は、Helix Core側で管理してくれる仕組みになっています。
Helix Coreに限った話ではありませんが、管理のための仕組みには管理台帳が不可欠です。
この管理台帳に相当するものがワークスペースになります。
Helix Coreは管理台帳であるワークスペースの作成を必須とし、Helix Core側で管理することによって、次のことをチームメンバ全員が共有できるようにしています。
- 誰がどのアセット群を取り出して制作活動を行っているのか?
- 現在どのアセットが編集されているのか?
- 現在どのアセットがロックされているのか?
ワークスペースの作成方法
ここまでのおさらい
ワークスペースを作成する前に、押さえておくべきポイントをおさらいします。
押さえておくべきポイント | ポイントへの回答例 |
---|---|
手元のマシンのどこに制作したアセット群があるのか? | D:\mywork\project1\assets に格納されている |
制作したアセット群をHelix Coreのどこに格納したいのか? | //depot/project1/assets に格納する |
ワークスペースとは何か? | 取り出し範囲の情報などを管理するための管理台帳である |
作成手順
まず、ワークスペースの作成ダイアログを表示します。
- P4Vを起動して、
Open Connection
ダイアログが現れたらServer
とUser
を入力してOK
を押します。
- 次に
View
>Workspaces
の順で操作して、Workspaces
タブを表示します。
-
Workspaces
タブの中でマウス右クリックでコンテキストメニューを表示し、New Workspace
を選択します。選択後に、Workspace: New
ダイアログが表示されます。
次に、ワークスペースの作成条件をダイアログに入力していきます。
-
Workspace name
にワークスペースの名称(管理台帳の名称)を入力します。
名称には、英数字、マイナス(-)、アンダーバー(_)のみを使用した方が良いでしょう。
ここでは、例としてsample_workspace
と入力します。 -
Workspace root
に「手元のマシンのどこに制作したアセット群があるのか?」の答えを入力します。
ここでは、D:\mywork\project1\assets
と入力します。
これで、Helix CoreはD:\mywork\project1\assets
の中にバージョン管理をするべきアセット群が格納されていると理解します。 -
Workspace Mappings
に取り出し範囲の情報を入力しますが、操作を簡単にするためにいったん内容をすべて削除します。
ここまでで下図の状態になります。
-
Workspace Mappings
に記述する内容を整理していきます。-
「制作したアセット群をHelix Coreのどこに格納したいのか?」の答えを記述します。
//depot/project1/assets
-
「手元のマシンのどこに制作したアセット群があるのか?」の答えを横に入力します。
//depot/project1/assets D:\mywork\project1\assets
-
D:\mywork\project1\assets
はWorkspace root
に記述済みであるため、二重に提示する必要はありません。
ワークスペースの名称を使って、この冗長さを次の置き換えで解消します。D:\mywork\project1\assets ↓ //sample_workspace
この置き換えによって、次の通りになります。
//depot/project1/assets D:\mywork\project1\assets ↓ //depot/project1/assets //sample_workspace
-
最後におまじないになりますが、それぞれのパスの末尾に
/...
を付与します。//depot/project1/assets //sample_workspace ↓ //depot/project1/assets/... //sample_workspace/...
-
-
整理した内容を
Workspace Mappings
に記述します。
-
最後に
Advanced
タブでいくつかの役立つオプションを設定しておきます。-
Allwrite
このオプションを設定しない場合、Helix Coreはファイルを読み取り専用で取得します。
このオプションを設定しておくと、ファイルが読み書き可で取得されます。 -
Modtime
このオプションを設定しない場合、Helix Coreはファイルのタイムスタンプをファイルの取得日時に設定します。
このオプションを設定しておくと、ファイルのタイムスタンプがファイルの登録日時に設定され、ファイルの鮮度を確認しやすくなるなどのメリットがあります。 -
Rmdir
このオプションを設定しない場合、Helix Coreの機能を使用して手元のファイル群をいったん削除してクリーンな状態にしたときに空のディレクトリが残ってしまいます。
クリーンな状態にするときは、通常空のディレクトリも不要になるため、このオプションを設定してHelix Coreに削除させます。
-
-
OK
をクリックすると、Workspace root
で指定したディレクトリが既に存在しているため、別のディレクトリを指定するかどうかを確認されます。
-
この記事の手順では「手元のマシンのどこに制作したアセット群があるのか?」を確認したうえで
Workspace root
を入力していますので、No
を選択して構いません。
作成に成功すると下図のようにワークスペースが作成され、ツリーの上部にワークスペース名が表示されます。
-
最後に漏斗ボタンを選択し、
Tree restricted to Workspace View
を選択します。
すると、ワークスペースに覚えさせた対応関係以外のディレクトリが非表示になるため、次のことが確認できます。- Helix Coreサーバ側(Depotを選択した状態): 指定した格納場所(
//depot/project1/assets
)の中にアセット群が存在するのかどうか - 手元のマシン側(Workspaceを選択した状態): 指定した格納場所(
D:\mywork\project1\assets
)の中にアセット群が存在するのかどうか
- Helix Coreサーバ側(Depotを選択した状態): 指定した格納場所(
まとめ
この記事では ワークスペース と ワークスペースの作成方法 を解説しました。
ワークスペースは作成と削除を繰り返しても、チームメンバに何も迷惑をかけません。
作成方法を間違えたままバージョン管理を始めるよりも、理解度を上げてから制作活動を始めた方が良いので、何度か作成の練習をして次のことを正しく理解できるようにしましょう。
- 手元のマシンのどこに制作したアセット群があるのか?
- 制作したアセット群をHelix Coreのどこに格納したいのか?
- 作成したワークスペースはこの関係性を正しく定義できているのか?
追記 (2020/9/28)
参考情報を以下に記します。
- P4Vユーザガイド(2019.1): ワークスペースを作成および管理する
- <動画> ワークスペースの作成
- <動画> Setting up a Workspace in P4V
- <動画> Quickie - Perforce Workspace Setup for UE4
Helix Coreに関する情報は以下でもまとめていますのでご参照下さい。
Discussion