p4 depot
ディポ仕様を生成または編集します。
ブランチ、ディポ、ラベル、ワークスペースを同じ名前にすることはできません。
構文規則
p4 [g-opts] depot [-t type] depotnamep4 [g-opts] depot -d [-f] depotnamep4 [g-opts] depot -o [-t type] depotnamep4 [g-opts] depot -i
このコマンドは、graphタイプのディポでは異なる動作になります。
詳細については、「グラフタイプのディポを使用する」セクションを参照してください。
説明
Helixサーバでは、
ファイルがディポと呼ばれる共有リポジトリに格納されます。
デフォルトでは、
各Helixサーバインストール環境に1つずつ
depotと呼ばれるlocalディポがあります。
ディポを生成または編集するには、p4 depot
depotnameコマンドを使用して
ディポ仕様フォーム内のフィールドを編集します。ディポのタイプは、local、stream、
remote、archive、spec、
unload、tangent、graphのいずれかになります。
特定のディポタイプに対して-tオプションを指定すると、そのディポタイプ用のディポ仕様が作成されます。以下に例を示します。
$ p4 depot -t stream mystreamdepot
上記のように指定すると、以下のディポ仕様が作成されます。
Depot: mystreamdepot Owner: user Date: 2018/12/21 15:57:50 Description: Created by user. Type: stream StreamDepth: //mystreamdepot/1 Map: mystreamdepot/...
この仕様は編集することができます(StreamDepthを変更する方法については、「ストリームディポを使用する」を参照)。
または、以下のように指定して、出力ストリームをp4 depotコマンドに
接続することもできます。
$ p4 depot -o [-t stream] mystreamdepot | p4 depot -i
p4 depotでディポを生成しても、そのディポは、p4 addでファイルが追加されるまでは
ディスク上に物理的に生成されることはありません。
ユーザは、p4 depotで新たに生成されたディポがあっても、
p4 protectでディポへのアクセス機能が付与されるまでは、
そのディポにアクセスすることはできません。
フォームフィールド
| フィールド名 | タイプ | 説明 |
|---|---|---|
|
|
読み取り専用 |
ファイル名とエンティティに関する文字の制限に 注意してください。 |
|
|
書き込み可能 |
そのディポを所有するユーザの名前。デフォルトでは、そのディポを生成したユーザの名前です。 指定する所有者は、 Helixサーバユーザである必要はありません。 ユーザがまだ存在していないため任意の名前を使用する場合や、 ユーザを削除してから仕様を新しいユーザに割り当てるまでの プレースホルダーが必要となる場合があります。 |
|
|
書き込み可能 |
ディポの簡単な説明。任意入力。 |
|
|
書き込み可能 |
local、
|
|
|
書き込み可能 |
|
|
|
書き込み可能 |
デフォルトの拡張子は
|
|
|
書き込み可能 |
デフォルト値は、ディポ名の1レベル下のレベルです。 ストリームを作成するときに、デフォルト値以外の値を設定することができます。 詳しくは、「ストリームディポを使用する」を参照してください。 |
|
|
書き込み可能 |
「マップ情報を指定する」を参照してください。 |
|
|
書き込み可能 |
スペックディポについて、どのスペックを保存すべきであるかを示す 任意指定の記述であり、ビュー形式で表現します。 |
オプション
|
|
depotnameで指定されたディポを削除します。削除するディポは、ファイルを含んでいてはなりません。
Helixサーバスーパーユーザは 削除するディポが クライアントワークスペースディポの名前は、ブランチ、クライアントのワークスペース、 またはラベルと同じ名前にすることができません。 |
|
|
デフォルトでは、ディポを削除する場合は、 |
|
|
標準出力からディポ仕様が読み込まれます。 p4 depot -o -t stream mystreamdepot2 > filename 上記のように指定すると、ファイルからディポ仕様が読み込まれます。filenameには、ディポ仕様を指定します。 |
|
|
ディポ仕様を標準出力へ書き出します。 |
|
|
ディポのタイプは、 |
|
|
「グローバルオプション」を参照してください。 |
使用上の注意点
| ファイル引数でリビジョン指定子を使用できるか? | ファイル引数でリビジョン範囲を使用できるか? | 最低限必要なアクセスレベル |
|---|---|---|
|
適用外 |
適用外 |
|
マップ情報を指定する
ローカルディポでは、ディポにあるファイルのアーカイブ内容のファイルシステムの
位置をMapフィールドで指定します。この位置は、相対位置または
絶対位置のいずれかになります。ディポのバージョン化ファイルを別のボリュームや
ドライブに保存するには、Mapフィールドに絶対パスを指定してください。
指定するパスは、P4ROOTの下にある必要はありません。
- 例えば
/p4/depots/depot/...のような絶対位置の場合、それ以上の解釈は必要ありません。 -
Ace/...などの相対的な位置を表すパスの場合、server.depot.root構成可能変数が設定されていない限り、P4ROOTの値に対して相対的な位置として認識されます。既存のインストール環境で「
server.depot.root」というアドレス形式を使用し、 その値を「P4ROOT」以外の値に設定する場合は、以下の点に注意する必要があります。-
既存のディポ
Mapの値を絶対値に変更する。 -
server.depot.root変数の値を設定する。 -
(任意) 既存のディポマップを更新する。
-
リモートディポを使用する
remoteディポを使用している場合、
Perforceサービスをホスティングするマシン
(すなわち、P4PORTで指定されたマシン)の設定により、
Helixサーバアプリケーションが
別のPerforceサービスから
ファイルを読み取る権限が
与えられています。
リモートディポの使用は読み取り専用アクセスに限られます。
つまり、Helixサーバアプリケーションは、
他のサーバ上のディポにあるファイルを
add、edit、delete、またはintegrateすることはできません。
リモートディポの詳細については、
「Helix Coreサーバ管理者ガイド」を参照してください。
リモートディポはremoteという仮想ユーザによって(または、
リクエストの送信元となったサービスに対してサービスユーザが
設定されていればそのユーザによって)アクセスされます。また、デフォルトでは、
どのHelixサーバインストール上のどのファイルもリモートから
アクセスできるようになっています。特定のサーバへのリモートアクセスを
制限もしくは排除するには、p4
protectを用いて、
そのサーバのremoteユーザ(またはアクセス対象サイトのサービスユーザ)に
与える権限を設定します。
例えば、ある特定のサーバ上のすべてのディポに保存されたすべてのファイルに対する
remoteアクセスを排除するには、そのサーバに関する権限を
次のように設定します。
read user remote * -//...
リモートディポはreadアクセス専用であるため、
writeまたはsuperのアクセス権限を
解除する必要はありません。
サービスユーザも仮想ユーザremoteも
Helixサーバのライセンスを必要としません。
お使いのサーバでサービスユーザによってリモートディポにアクセスする場合は、 サービスユーザにリモートディポ提供元のサーバに対する有効な チケットが与えられている必要があります。
詳しくは、『Helix Coreサーバ管理者ガイド』の「リモートディポとマルチサーバ開発」を参照してください。
スペックディポを使用する
specディポが存在する場合、ユーザが編集したフォーム(クライアントワークスペースの仕様、
ジョブ、ブランチマッピングなど)に対する変更が追跡されます。specディポは1つのサーバに対して1つしか作成できません。
スペックディポにあるファイルは自動的に
Helixサーバによって生成され、
Helixサーバシンタックスは
次のように表記されます。
//
specdepotname/formtype/objectname[suffix]
例えば以下のように指定すると、job000123に対する変更履歴を取得することができます。
「spec」はスペックディポの名前、「.p4s」はデフォルトの拡張子です。
p4 filelog //spec/job/job000123.p4s
スペックディポを作成したら、「p4 admin
updatespecdepot」コマンドを使用して、現在のクライアントフォーム、ディポフォーム、ブランチフォーム、ラベルフォーム、
タイプマップフォーム、グループフォーム、ユーザフォーム、ジョブフォームのデータをまとめてスペックディポに読み込みます。
スペックディポの場合、SpecMap:フィールドを使用して、どのスペックを
バージョン化するかを制御できます。デフォルトでは、
すべてのスペック(//spec/...)がバージョン化されます。
プロテクションテーブルをバージョン化の対象から外すには、
スペックディポのSpecMap:を次のように設定します。
SpecMap:
//spec/...
-//spec/protect/...
スペックマッピングの追加または変更は、スペックディポの今後の更新に対してのみ影響します。 スペックディポに既に格納済みのファイルには影響しません。
詳細については、『Helix Coreサーバ管理者ガイド』の 「スペックディポ」を参照してください。
ストリームディポを使用する
ストリームとは、階層とポリシーが含まれている特殊なブランチのことです。streamディポは、一連のストリームを保管するためのコンテナです。
ストリームディポを作成するには、ディポ仕様で以下の情報を指定します。
- Depot: ストリームディポの名前
- Owner
- Date: ストリームディポの作成日
- Type: ストリームディポのタイプ (「stream」を指定する必要があります)
- StreamDepth
StreamDepthについて
デフォルトの場合、ストリーム内のファイルはディポ名の1レベル下の 階層に保管されます。以下に例を示します。
//myStreamDepot/myStream1 //myStreamDepot/myStream2 //myStreamDepot/myStream3
デフォルト値以外の値を「StreamDepth:」フィールドで指定する場合は、整数またはスラッシュを指定します。
|
整数を指定する場合: |
Depot: myStreamDepot Owner: bruno Date: 2018/11/21 11:10:32 Description: Created by bruno. Type: stream Address: local Suffix: .p4s StreamDepth: 2 |
|
スラッシュを指定する場合(この例では、整数の「2」を指定した場合と同じになります): |
Depot: myStreamDepot Owner: bruno Date: 2018/11/21 11:10:32 Description: Created by bruno. Type: stream Address: local Suffix: .p4s StreamDepth: //myStreamDepot/foo/bar |
特定のプロジェクト、グループ、または場所に対応するストリームを作成することをお勧めします。例えば、以下のように指定します。
StreamDepth: //deepStream/1/2/3/4
または
StreamDepth: 4
ただし、階層があまり深くならないようにするため、StreamDepthには「3」以下の値を指定することをお勧めします。例えば、以下のような3つの階層になっているとします。
//myStream/organization/project/mainline //myStream/organization/project/dev //myStream/organization/project/release1 //myStream/organization/project/release2
この場合、「StreamDepth:」フィールドの値を「3」に設定するには、以下に示すいずれかの方法で値を指定します。
StreamDepth: 3
または
StreamDepth: //myStream/1/2/3
ストリームのnameとStreamDepthは、1回のみ指定することができます。一度指定したストリームの名前と階層を変更することはできません。
ストリームの種類に関する詳しい説明とストリームの使用方法については、『Helix Coreコマンドライン(P4)ガイド』の「ストリームを参照してください(『Helix Coreサーバ管理者ガイド』の「ストリームディポ」にも関連情報が記載されていますが、概要的な情報しか記載されていません)。
グラフタイプのディポを使用する
GitリポジトリをHelixサーバに保存するには、graphタイプのディポを使用します。
例えば、graphタイプのディポを作成してgraphDepot1という名前を付け、
次のコマンドを発行します。
p4 depot -t graph graphDepot1
graphタイプのディポのリストを表示するには、次のコマンドを発行します。
p4 depots -t graph
repoという名前のグラフタイプのデフォルトのディポが、
Helixサーバサーバが作成されたとき、または2017.1以降に更新されたときに、
自動的に作成されます。
Gitリポジトリまたはグラフディポを作成後、p4 depotsは、graphタイプであるかどうかに関わらず、
すべてのディポをリストします。
graphタイプのディポはp4
protect機能をファイルレベルで使用しません。
その代わり、グラフディポがファイルのリポジトリ(repo)全体の権限のセットで
Gitモデルをサポートします。詳しくは、p4
grant-permissionを参照してください。
graphタイプのディポでの作業についての詳細は、
『Helix4Git管理者ガイド』を参照してください。
関連コマンド
|
Helixサーバサーバが認識しているすべてのディポを一覧表示する |
|
|
新しいディポにファイルを入れる |
|
|
既存のクライアントワークスペースから新しいディポへのマッピングをディポに追加する |
|
|
ディポから1つのファイルのあらゆる痕跡を除去する |
|
|
ディポへのリモートアクセスを制限する |
|
|
ファイルをアーカイブディポにアーカイブする |
|
|
ファイルをアーカイブディポから復元する |






