ワークスペースを作成および管理する

ワークスペースのについて

ユーザは、自分のワークスペースの設定をHelixサーバの管理者に依頼することができますが、ワークスペースのルートディレクトリの設定と、ワークスペース仕様(またはビュー)の設定について理解しておくことをお勧めします。

ワークスペースルート」(「クライアントルート閉じた クライアントワークスペースの最上位(ルート)のディレクトリ。1つのマシンに2つ以上のクライアントワークスペースがある場合、それらで同じクライアントルートディレクトリを共有することはできません。」とも呼ばれます)により、Helixサーバがディポファイルのコピーを保管するワークステーション上の場所が定義されます。ワークスペースルートには、わかりやすい名前を付けてください。また、ワークスペースルートをコンピュータ上のルートディレクトリとして設定しないでください。

ワークスペース仕様」により、 そのワークスペースからアクセス可能なディポの領域と、 ディポ内のファイルのローカルコピーの保存場所が定義されます。P4Vユーザは、この場所のことを「ワークスペース閉じた Helixサーバによって管理されるファイルリビジョンの作業を行うマシン上のディレクトリ。このクライアントワークスペースの名前はデフォルトで、クライアントワークスペースがあるマシンの名前に設定されます。ただし、この名前は上書きすることはできません。クライアントワークスペース、ラベル、およびブランチ仕様に同じ名前を付けることはできません。」と呼びます(Helix Coreサーバのコマンドラインユーザは、 この場所のことを「クライアント」と呼びます)。

コンピュータには複数のワークスペースを設定することができます。P4Vでは、ホスト名とポート番号だけを使用してサーバに接続できますが、 Helixサーバ上で管理されているファイルを処理する場合は、 ワークスペースを使用する必要があります。

ディポファイルからローカルファイルへのマッピングは、 ワークスペースビュー閉じた ディポ内のファイルの場所とクライアントワークスペース内のファイルの場所との対応を指定するマッピングのセット。と呼ばれます。ストリームを使用している場合、 Helixサーバ は、ストリームの構造に基づいて ワークスペースビューを生成します。ストリームの構造が変更されると、 ワークスペースビューは自動的に更新されます。ストリームのワークスペースビューを手動で編集することはできません。クラシックディポ閉じた ストリームベースではないHelixサーバファイルのリポジトリ。グラフモデルではなく、Perforceファイルリビジョンモデルが使用されます。デフォルトのディポ名はディポです。「デフォルトのディポ」、「ストリームディポ」、「グラフディポ」も参照してください。グラフディポ閉じた HelixサーバにGitリポを保存するために使用されるグラフタイプのディポ。「Helix4Git」と「クラシックディポ」も参照してください。ハイブリッドワークスペース閉じた 従来のPerforceファイルリビジョンモデルのディポに保管されたファイルと、Gitに関連付けられたグラフモデルのリポジトリに保管されたファイルにマップされるワークスペース。 を使用する場合は、ワークスペースビューの定義と維持管理を手動で行う必要があります。

  • Helixサーバのストリームには、コードラインなどの関連ファイルのバージョン管理を行うための構造化されたブランチ機能が用意されています。これにより、ストリームで作業を行う場合に、ディポの作成、クライアントワークスペースの定義、ファイル間での変更の反映を効率的に行うことができます。詳しくは、「ストリームを使用する」を参照してください。
  • グラフディポとハイブリッドワークスペースの詳細については、「グラフディポを使用する」を参照してください。

ワークスペースを作成する

新しいワークスペースを作成すると、P4Vにより、そのワークスペース用のディレクトリがただちに作成されます(バージョン2019.1よりも前のP4Vでは、最初にファイルの同期処理を実行する場合を除き、ディレクトリが作成されることはありませんでした)。

新しいワークスペースを作成する手順は以下のとおりです。

  1. 以下に示すいずれかの操作を実行します。

    • トップメニューで、[接続] > [新しいワークスペース]​を選択します。

    • 右パネルの[ストリーム]タブで、ストリームを右クリックして [新しいワークスペース]​を選択します。
    • 右パネルの[ワークスペース]タブで、右クリックして [新しいワークスペース]を選択します。
  2. 新しいワークスペース名の入力画面を表示するようにP4V設定されている場合、[ワークスペース名]ダイアログが表示されます。ワークスペース名を入力して[OK]をクリックします。または、[基本]タブの[ワークスペース]ダイアログで、 必要に応じてデフォルトのワークスペース名とルートを変更します(デフォルト値のままでもかまいません)。

  3. ワークスペースをディポにマップします。

    クラシックディポ(自由形式のブランチ):

    以下に示すいずれかの操作を実行して、 [ワークスペースマッピング]フィールドで ワークスペースビュー(マッピング)を設定します。

    • [ワークスペースマッピングをテキストで表示] アイコン テキストの編集 を選択し、 Helixサーバ クライアントビュー構文を使用してビューの仕様を入力します。
    • [ワークスペースマッピングをツリー形式で表示] ツリーの編集 アイコンを選択し、 必要なファイルとフォルダを参照します。

      ワークスペースマッピングを作成します。 作成するには、ディポ、フォルダ、またはファイルを選択し、フィールドの上部に表示されている [含める]ボタン([含める]ボタン)、[除外]ボタン([除外]ボタン)、[消去]ボタン([消去]ボタン)をクリックします。
      または、コンテキストメニューの[含める]オプション、[除外]オプション、[消去]オプションを右クリックして選択します。

    ワークスペースマッピングに関する説明とその例については、 「ワークスペースビューを定義する」を参照してください。

    ストリームディポ(構造化されたブランチ):

    • ストリーム:このワークスペースに関連付けるストリームを 入力または参照します。

      ストリームを入力すると、ワークスペースビューの [ワークスペースマッピング]に自動的に表示されます。 編集することはできません。

      ストリームからワークスペースの関連付けを解除するには、 [ストリーム]フィールドのエントリを削除します。

    • 変更時のストリーム:特定のチェンジリストの ストリーム定義を使用して作業する場合は、 ここにチェンジリスト番号を入力します。

      ストリーム定義に変更が加えられると、変更カウンタの現在の値を使用して ストリームのバージョンが付けられます。以前のチェンジリストの ストリーム定義に基づいて生成されたビューを ストリームワークスペースで使用する場合は、 変更時のストリームを使用してください。

      現在のストリーム内のセットとは異なるディレクトリや ファイルのセットを使用する必要がある場合は、 変更時のストリームのビューを使用すると便利です。例えば、 以前のバージョンのストリームには含まれていたが、 現在のストリームには含まれていないライブラリを使用して ビルドをテストするような場合です。最後のチェンジリストの番号を入力して これらのライブラリを含めます。このワークスペースで作業を行うと、 P4V によって最後のチェンジリストに同期され、 ビルドのテストを実行できるようになります。変更時のストリームのワークスペースは読み取り専用です。 以前のチェンジリストにファイルをチェックインすることはできません。

    ストリームの詳細については、Helix Coreサーバユーザガイドの 「ストリーム」 の章を参照してください。

  4. 必要に応じて、[詳細]タブで 以下の設定を指定することができます。

    所有者

    仕様を作成したユーザです。

    ロック状態

    選択すると、ワークスペースの所有者のみがワークスペース仕様を使用、変更、削除できます。その他のユーザについては、ワークスペースを表示することはできますが、ワークスペース仕様の編集や削除、ワークスペースを使用した同期操作、ファイルのオープンなどを行うことはできません。

    説明

    ワークスペースの目的についての説明、 または明記する必要のある関連情報。

    [説明]フィールドでは、マークアップ用のHTMLタグとハイパーリンク用のテキストを入力することができます。詳しくは、「[説明]フィールドでテキストを書式設定する」を参照してください。

    ホスト

    (任意指定)ワークスペースが存在するコンピュータ。どのマシンからでも ワークスペースを使用できるようにするには、 このフィールドを空白のままにします。

    AltRoots

    ワークスペース仕様を異なるプラットフォームのホストから使用するため、 ホストプラットフォーム固有の構文により記述された ワークスペースルートのリスト。

    ファイルオプション

    • Allwrite:ワークスペース内のすべてのファイルを 書き込み可能(変更可能)にします。
    • Clobber:ファイルを同期すると、ワークスペース上の 書き込み可能ファイルが上書きされます。
    • Compress:ワークスペースとHelixサーバ間で送信されるデータを圧縮します。
    • Modtime:クライアントワークスペースで編集された ファイルの変更時刻を、ファイルがディポに サブミットされた時刻に設定します。このオプションを選択すると、P4Vの外部でファイルが変更されているかどうかについてダイジェストを確認する前に、ファイルの変更時刻がチェックされるため、クライアント上で実行される負荷の高いダイジェスト計算処理がP4Vによって最小限に抑えられます。
    • Rmdir:フォルダに含まれているすべてのファイルが削除された場合、 ワークスペースフォルダを削除します。

    テキストファイルの行末文字

    テキストファイルをワークスペースコンピュータに 保存する際に使用される行末規則。

    • Local:ワークスペースプラットフォームのデフォルトを使用します
    • Unix:LF
    • Mac:CR
    • Win:CRLF
    • Share:行末はLFです。行末の前にあるすべてのCRは、 保存または同期の際に削除されます (UNIXとWindows間で共有されるディスク対象)

    サブミット時

    ユーザがファイルをサブミットしたときに起こる動作を構成します。以下のオプションを使用することができます。

    • すべての選択されたファイルをサブミット:デフォルト。作業中のファイルがすべてサブミットされます。
    • 変更していないファイルをサブミットしない:内容、タイプ、または衝突解決済みの変更が含まれているファイルがサブミットされます。変更されていないファイルは、デフォルトのチェンジリストに移動されます。
    • 変更していないファイルを元に戻す:内容、タイプ、または衝突解決済みの変更が含まれているファイルがサブミットされます。変更されていないファイルは、元に戻されます。

    サブミット後にサブミットしたファイルをチェックアウト

    選択すると、P4Vはデフォルトのチェンジリストにサブミットされたファイルを再オープンします。

    クライアントタイプ

    クライアントのタイプを指定します。

    writeable

    デフォルト設定です。

    readonly

    ビルド自動化スクリプトで使用される一時的なクライアントの場合に使用します。こうしたクライアントの場合、ファイルの編集やサブミットを行うことはできません。

    partitioned

    readonly設定に類似した動作になりますが、対象のクライアントを使用して、ファイルの編集とサブミットを実行できるようになります。

    ビルド自動化スクリプトで書き込み可能クライアントを使用すると、db.haveテーブルが断片化され、クライアントの同期先ファイルが記録されます。同期時にパフォーマンスに関する問題が発生した場合は、読み取り専用クライアントやパーティション化されたクライアントを使用することをお勧めします。readonlyタイプまたはpartitionedタイプのクライアントには、専用のdb.haveテーブルが割り当てられます。このテーブルの場所は、構成可能変数client.readonly.dirを使用して、管理者が事前に設定しておく必要があります。Helix Coreサーバ管理者ガイドの「自動ビルドで読み取り専用クライアントおよびパーティション化されたクライアントを使用する」も参照してください。

    バックアップ

    現在は使用されていません。このフィールドは、クラスタ内のワークスペースサーバにバインドされているクライアントにのみ適用されます。サーバクラスタリングは現在Helixサーバではサポートされていません。 詳細については、「Perforce Server Clustering Update(Perforceサーバクラスタリングの更新)」を参照してください。

  5. [保存]をクリックしてエントリを保存し、 ワークスペース仕様を作成します。

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

ワークスペースビューにより、 左パネルの[ワークスペース]タブに表示されるディポの領域と、 ディポファイルのローカルコピーが保存されるワークスペース内の場所が定義されます。ストリームを使用する場合、ワークスペースビューは 自動的に生成されて表示されます。クラシックディポを使用する場合は、このトピックの説明に従い、 ビューの保守を手動で行う必要があります。

ワークスペースビューを定義または変更する手順は以下のとおりです。

  1. [ワークスペース]フォームが表示されていない場合は、以下の操作を実行します。

    1. [表示] > [ワークスペース]に移動して [ワークスペース]タブを開きます。
    2. [ワークスペース]タブでワークスペースを右クリックし、 [ワークスペースを編集]を選択します。
  2. [ワークスペース]ダイアログで[ワークスペースマッピング] フィールドを編集します。

    構文でビューを設定するグラフィックでビューを設定するの説明に従い、 構文を使用してビューを定義することも、グラフィックを使用してビューを定義することもできます。

  3. 編集を終了したら、変更を保存します。

構文でビューを設定する

[ワークスペース]ダイアログの[基本]タブで、[ワークスペースマッピング]フィールド上部の[ワークスペースマッピングをテキストで表示]アイコン テキストの編集 をクリックし、 Helixサーバ のクライアントビュー構文を使用してビュー仕様を入力します。ビューは1行につき1つのマッピングで構成されています。マッピングの左側はディポファイルを示し、 右側はディポファイルがディポから取得された場合に 保存されるワークスペース内の 場所を指定します。以下の例を参照してください。

以下のワークスペースパスでは、ワークスペースのルート(C:\Users\Perforce\bruno)ではなく、ワークスペースの名前(bruno)が指定されています。

//depot/...         //bruno/depot/...
//user_depot/... //bruno/user_depot/...
//projects/... //bruno/myprojects/...

クライアントビュー構文の詳細については、『Helix Coreサーバユーザガイド』の「クライアントの構成」に関する章を参照してください。

グラフィックでビューを設定する

[ワークスペースマッピングをツリー形式で表示] ツリーの編集 アイコンをクリックします。ディポが フォルダおよびファイルのツリーとして表示されます。マップするファイルまたはフォルダを右クリックし、 以下のようにマッピングを選択します。

  • ツリーを含める/ツリーを除外:選択したフォルダの下にあるすべてのファイルを 含めるか除外します。
  • ファイルを含める/ファイルを除外:特定のファイルを 含めるか除外します。
  • 特殊表記を含める/特殊表記を除外:ディポ構文を使用して ワークスペースビューを 指定します。
  • 消去:マップされたフォルダやファイルをマッピングから削除します。

ファイルまたはフォルダをダブルクリックし、表示される [特別編集]ダイアログでビューを定義することもできます。このダイアログでは、ラジオボタンをクリックするか、 [式]フィールドを使用して クライアントビューマッピングの左側と右側のコンポーネントを入力することにより、 オプションを指定できます。

ヒント

ディポパスをクライアントビューにすばやく追加するには、 [検索] > [ディポをフィルタリング] > [ディポ全体のツリー]に移動し、 ディポツリーで目的のフォルダを右クリックして[ワークスペースビューにマップ]​を選択します。

ワークスペースを切り替える

ここでは、クラシックディポとストリームのどちらを使用するかに応じてワークスペースを切り替える方法について説明します。

クラシックディポ

クラシックディポを使用する場合は、[ワークスペースを選択]ダイアログでワークスペースを切り替えることができます。 [ワークスペースを選択]ダイアログを開くには、以下のいずれかを実行します。

  • ツリーパネル上部のドロップダウンリストでドロップダウン矢印をクリックし、 [ワークスペースに切り替え]を選択します。
  • [接続] > [ワークスペースに切り替え]に移動します。
  • [接続をオープン] ダイアログを開き、[ワークスペース]フィールドの横にある[表示]をクリックします。

右パネルの[ワークスペース]タブでワークスペースを右クリックし、 [ワークスペース<workspace name>に切り替え]を選択して、 ワークスペースを切り替えることもできます。

ストリームディポ

ストリームを使用する場合は、クラシックディポの場合と同じ方法でワークスペースを切り替えることができます。また、ストリームのマージやコピー(この場合は、反映先ストリームのワークスペースに切り替えるためのプロンプトがP4Vによって表示されます) を行ってストリームのワークスペースを切り替えることも、以下の操作を実行して切り替えることもできます。

  • [ストリーム]タブまたは[ストリームグラフ]でストリームを右クリックし、[このストリームでの作業]を選択します。

  • [ストリームグラフ]で、現在のストリームのワークスペースアイコン「ワークスペース」を、 目的のストリームにドラッグします。

異なるワークスペースを使用し、ワークスペースを切り替えたときに情報ダイアログを表示するようにストリームのプリファレンスが設定されている場合、ワークスペースを切り替えるためのプロンプト(または新しいワークスペースを作成するためのプロンプト)がP4Vによって表示されます。その場合、[新しいワークスペースを作成]ボタン(使用しているワークスペースが1つだけの場合)、[ワークスペースの切り替え]ボタン(2つのワークスペースを使用している場合)、 または[ワークスペースを選択]ボタン(3つ以上のワークスペースを使用している場合)をクリックします。複数のワークスペースがストリームに関連付けられている場合は [ワークスペースを選択] ダイアログが開き、ここで必要なワークスペースを検索して選択できます。

ストリームを切り替えたときに同じワークスペースを使用するように プリファレンスが設定されている場合は、 切り替え先のストリームがワークスペースビューに表示されます。つまり、ワークスペース定義の [ストリーム]フィールド値は、新しいストリームに変更されます。バージョン2019.1以降のHelixサーバでこの操作を行うと、ファイルのチェックアウト先によってそれぞれ以下のような動作になります。

  • デフォルトのチェンジリストにチェックアウトした場合: P4Vにより、チェックアウトされたファイルが「Switched branch shelf」という説明を持つ番号付きチェンジリスト内で自動的に保留されます。元のストリームに切り替えると、これらのファイルの保留が解除され、デフォルトのチェンジリストに戻されます。ただし、一時的な保留操作用として作成された番号付きチェンジリストはシステムから削除されないことに注意してください。
  • 番号付きチェンジリストにチェックアウトした場合: ストリームを切り替える前に、 P4Vにより、チェックアウトされたファイルを保留するためのプロンプトが表示されます。元のストリームに切り替えても、これらのファイルは番号付きチェンジリスト内で保留されたままになります。これらのファイルについては、手動で保留を解除する必要があります。

ワークスペースを再利用しているストリームをチェックアウトすると、ストリームを切り替えることができなくなります。最初に、ストリームをチェックインする必要があります。「ストリームのプライベート編集」も参照してください。

最近使用したワークスペースを編集

  1. ワークスペースリストを開きます。
  2. [最近使用したワークスペースを編集...]
    をクリックします。
  3. ワークスペースを削除するには、そのワークスペースのチェックボックスをオフにします。

    現在のワークスペースを削除することはできません。

    ワークスペースリストに表示する最近使用したワークスペースの最大数を変更する場合は、ドロップダウンリストで目的の値を選択します。

ワークスペースを表示する

接続先サーバのワークスペースを表示するには、以下に示すいずれかの操作を実行します。

  • [表示] > [ワークスペース]に移動し、[ワークスペース]タブの ワークスペース行をダブルクリックして、クライアントワークスペース仕様の詳細を表示する。

  • [ワークスペースを選択]ダイアログを開きます。 (詳細については、「ワークスペースを切り替える」を参照してください。)ワークスペース行をダブルクリックして、 クライアントワークスペース仕様の詳細を表示する。

ワークスペースを検索する

[ワークスペース]タブと[ワークスペースを選択]ダイアログでフィルタを使用して、 ワークスペースを検索することができます。以下を組み合わせて ワークスペースをフィルタできます。

  • 所有者:現在のユーザを選択するか、ユーザIDを入力します。
  • ワークスペースの名前
  • ストリームの名前

[このコンピュータで使用可能なワークスペースのみを表示する] を選択することもできます。

フィルターの詳細情報は、 「検索とフィルタ」 を参照してください。

ワークスペースを削除およびアンロードする

ワークスペースを削除すると、 Helixサーバ のワークスペースレコードが削除されますが、 ワークスペースやディポのファイルは削除されません。P4V でチェックアウトされているファイル(編集目的で開かれているファイル) が存在するワークスペースを削除することはできません。

ワークスペースをアンロードすると、使用頻度の低いメタデータが、バージョニングエンジンのデータベースファイルから アンロードディポ内のフラットファイルセットに転送されます。ワークスペースをアンロードした後、 再び使用する必要が生じた場合は、 ワークスペースをリロードできます。

ワークスペースを削除する手順は以下のとおりです。

  1. ワークスペースに関連付けられている作業中または 保留状態のチェンジリストをサブミットするか元に戻します。
  2. [表示] > [ワークスペース]に移動して [ワークスペース]タブを開きます。
  3. ワークスペースを右クリックし、 [ワークスペース'ワークスペース名'を削除]を選択します。

ワークスペースをアンロードする手順は以下のとおりです。

  1. ワークスペースに関連付けられている作業中または 保留状態のチェンジリストをサブミットするか元に戻します。
  2. [表示] > [ワークスペース]に移動して [ワークスペース]タブを開きます。
  3. ワークスペースを右クリックし、 [ワークスペース'ワークスペース名'をアンロード]を選択します。

アンロード済みワークスペースをリロードする手順は以下のとおりです。

  1. [表示] > [ワークスペース]に移動して [ワークスペース]タブを開きます。
  2. [フィルタ]パネルで[アンロード]アンロード済み アイコンを選択して[アンロード済みワークスペース]ダイアログを開き、 リロードするアンロード済みワークスペースをフィルタリングして選択します。
  3. ワークスペースを右クリックし、[ワークスペース 'ワークスペース名'をリロード]を選択します。

アンロードの詳細については、『Helix Core P4コマンドリファレンス』で、p4 unloadコマンドに関する説明を参照してください。