P4Vユーザーガイド (2019.1)

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

ユーザは、自分のワークスペースの設定をHelixサーバの管理者に依頼することができますが、すべてを管理者に任せるのではなく、ワークスペースに関するいくつかの重要な点を理解しておくことをお勧めします。特に、ワークスペースのルートディレクトリの設定と、ワークスペース仕様(ビューとも呼ばれます)の設定について理解することが重要です。

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

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

ディポファイルからローカルファイルへのマッピングは、ワークスペースビューディポ内のファイルの場所とクライアントワークスペース内のファイルの場所との対応を指定するマッピングのセット。と呼ばれます。ストリームを使用している場合、Helixサーバは、ストリームの構造に基づいてワークスペースビューを生成します。ストリームの構造が変更されると、ワークスペースビューは自動的に更新されます。ストリームのワークスペースビューを手動で編集することはできません。クラシックディポを使用する場合は、手動でワークスペースビューを保守する必要があります。

注意

Helixサーバのストリームは、「属性を持つブランチ」です。コードラインなどの関連性のあるファイルの集合体を一括管理するための手法です。ストリームを使用すると、ガイド情報を参照しながら、複雑なバージョン管理の手順を進めていくことができます。これにより、ストリームで作業を行う場合に、ディポの作成、クライアントワークスペースの定義、ファイル間での変更の反映を効率的に進めることができるようになります。ストリームについて詳しくは、ストリームを使用するを参照してください。

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

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

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

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

    • [接続] > [新しいワークスペース]​に移動します。

    • 右パネルの[ストリーム]タブで、ストリームを右クリックして[新しいワークスペース]​を選択します。
    • 右パネルの[ワークスペース]タブで、右クリックして[新しいワークスペース]を選択します。
  2. [ワークスペース名]ダイアログが表示されたら、ワークスペースの名前を入力して[OK]をクリックします。

    注意

    新しいワークスペース名の入力画面を表示するようにP4V設定されている場合にのみ、[ワークスペース名]ダイアログが表示されます。これは、デフォルトの動作ではありません。

  3. [基本]タブの[ワークスペース]ダイアログで、必要に応じてデフォルトのワークスペース名とルートを変更します(デフォルト値のままでもかまいません)。

    [ワークスペース: 新規]ダイアログ
  4. ワークスペースをディポにマップします。

    クラシックディポ:

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

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

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

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

    ストリームディポ:

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

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

      注意

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

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

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

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

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

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

    所有者

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

    ロック状態

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

    説明

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

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

    ホスト

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

    代替ルート

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

    ファイルオプション

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

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

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

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

    サブミット時

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

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

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

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

    クライアントタイプ

    クライアントのタイプとして、writeable (デフォルト)、readonly、またはpartitionedを指定します。

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

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

    注意

    ビルド自動化スクリプトで書き込み可能クライアントを使用すると、db.haveテーブルの断片化が発生する場合があります(このテーブルを使用して、クライアントの同期先ファイルが追跡されます)。こうした問題が発生した場合は、書き込み可能なクライアントの代わりに、読み取り専用クライアントやパーティション化されたクライアントを使用してください。readonlyタイプまたはpartitionedタイプのクライアントには、専用のdb.haveデータベーステーブルが割り当てられます。このテーブルの場所は、構成可能変数client.readonly.dirを使用して、管理者が事前に設定しておく必要があります。

    バックアップ

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

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

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

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

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

  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サーバユーザーガイド』のクライアントの構成に関する章を参照してください。

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

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

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

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

ヒント

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

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

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

クラシックディポを使用する場合:

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

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

[ワークスペースを選択]ダイアログ

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

ストリームを使用する場合:

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

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

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

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

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

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

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

ワークスペースを表示

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

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

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

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

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

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

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

詳細については、検索とフィルタを参照してください。

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

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

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

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

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

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

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

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

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

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