p4 depot
概要
ディポ仕様を生成または編集します。
構文
p4 [g-opts
] depot depotname
p4 [g-opts
] depot -d [-f] depotname
p4 [g-opts
] depot -o depotname
p4 [g-opts
] depot -i
解説
Perforceバージョン化サービスでは、ファイルをディポと呼ばれる共有レポジトリに格納します。デフォルトでは、各Perforceインストールに1つずつディポがあり、その名前はdepot
です。
ディポを生成または編集するには、p4 depot
depotname
コマンドを使用してフォーム内のフィールドを編集します。ディポのタイプはlocal
、stream
、remote
、archive
、spec
のいずれかになります。
p4 depotでディポを生成しても、そのディポは、p4 addでファイルが追加されるまではディスク上に物理的に生成されることはありません。ユーザは、p4 depotで新たに生成されたディポがあっても、p4 protectでディポへのアクセス権限が付与されるまでは、そのディポにアクセスすることはできません。
フォームフィールド
フィールド名 |
タイプ |
解説 |
---|---|---|
|
読み取り専用 |
p4 depot
|
|
書き込み可能 |
そのディポを所有するユーザの名前。デフォルトでは、そのディポを生成したユーザの名前です。 指定する所有者は、Perforceユーザである必要はありません。ユーザがまだ存在していないため任意の名前を使用する場合や、ユーザを削除してから仕様を新しいユーザに割り当てるまでのプレースホルダーが必要となる場合があります。 |
|
書き込み可能 |
ディポの目的に関する短いコメント。書き込み必須ではありません。 |
|
書き込み可能 |
ローカルディポは書き込み可能であり、デフォルトのディポタイプです。ファイルはサーバーのルートディレクトリに格納されています。 ストリームディポも書き込み可能ですが、階層と方策が組み込まれたブランチタイプであるストリームが格納されます。 リモートディポは他のサーバ上にあるので、書き込みはできません。詳細については、リモートディポを使用するを参照してください。 スペックディポが存在する場合、それは編集されたフォームをアーカイブします。詳細については、スペックディポを使用するを参照してください。 アンロードディポが存在する場合、それはp4 unloadコマンドによってアンロードされた、使用頻度の低い(古いクライアントワークスペースおよびラベルに関する)メタデータを保持します。詳細については、『Perforceサーバ管理者ガイド: 基本』を参照してください。 アーカイブディポはp4 archiveコマンドおよびp4 restoreコマンドと共に使用し、あまり頻繁にアクセスしないリビジョン(大きいバイナリファイルなど)をオフライン(あるいはニアライン)で格納するために使用します。 |
|
書き込み可能 |
[
|
|
書き込み可能 |
[
デフォルトの拡張子は
[ |
|
書き込み可能 |
[
[ 詳細については、マップ情報を指定するを参照してください。 |
|
書き込み可能 |
スペックディポについて、どのスペックを保存すべきであるかを示す任意指定の記述であり、ビュー形式で表現します。 |
オプション
|
ディポ
削除するディポが |
|
デフォルトでは、ディポを削除する場合は、 |
|
ディポ仕様を標準入力から読み込みます。 |
|
ディポ仕様を標準出力へ書き出します。 |
|
“グローバルオプション”を参照してください。 |
使用上の留意点
ファイル引数にリビジョン指定子を使えるか? |
ファイル引数にリビジョン範囲を使えるか? |
最低限必要なアクセスレベル |
---|---|---|
適用外 |
適用外 |
|
マップ情報を指定する
ローカルディポでは、ディポにあるファイルのアーカイブ内容のファイルシステムの位置をMap
フィールドで指定します。位置は、相対位置または絶対位置のいずれかになります。ディポのバージョン管理されたファイルを別のボリュームやドライブに保存するには、[Map
]フィールドに絶対パスを指定してください。指定するパスは、P4ROOT
の下にある必要はありません。
-
例えば
/p4/depots/depot/...
のような絶対位置の場合、それ以上の解釈は必要ありません。 -
相対位置、たとえば
Ace/...
などの場合、server.depot.root
構成可能変数が設定されていない限り、位置はP4ROOT
の値に相対すると解釈されます。既存のインストールにアドレスの
server.depot.root
フォームを導入するように注意してください。P4ROOT
以外の値に設定する場合、まず既存のディポのMap
の値を更新して、それらが絶対値であることを確認してください。server.depot.root
変数を設定しても、何かの妨げになることはありません。その後戻ってから、要望に応じて既存のディポマップを更新します。
リモートディポを使用する
remote
ディポをお使いの場合、Perforceサービスをホスティングするマシン(すなわち、P4PORT
で指定されたマシン)の設定により、Perforceアプリケーションが別のPerforceサービスからファイルを読み取る権限が与えられています。リモートディポの使用は読み取り専用アクセスに限られます。つまり、Perforceアプリケーションは、他のサーバ上のディポにあるファイルをadd
、edit
、delete
、またはintegrate
することはできません。詳細については、『Perforceサーバ管理者ガイド: 基本』を参照してください。
リモートディポはremote
という仮想ユーザによって(または、リクエストの送信元となったサービスに対してサービスユーザが設定されていればそのユーザによって)アクセスされます。また、デフォルトでは、どのPerforceインストール上のどのファイルもリモートからアクセスできるようになっています。特定のサーバへのリモートアクセスを制限もしくは排除するには、p4 protectを用いて、そのサーバのユーザremote
(またはアクセス対象サイトのサービスユーザ)に与えるパーミッションを設定します。
例えば、ある特定のサーバ上のすべてのディポに保存されたすべてのファイルに対するremote
アクセスを排除するには、そのサーバに関するパーミッションを次のように設定します。
read user remote * -//...
リモートディポはもともとread
アクセス専用なので、write
またはsuper
のアクセス権限を解除する必要はありません。
サービスユーザも仮想ユーザremote
もPerforceのライセンスを必要としません。
お使いのサーバでサービスユーザによってリモートディポにアクセスする場合は、サービスユーザにリモートディポ提供元のサーバに対する有効なチケットが与えられている必要があります。
スペックディポを使用する
spec
ディポが存在する場合、クライアントワークスペース仕様、ジョブ、ブランチマッピングなどのユーザ編集フォームに対する変更を追跡します。spec
ディポは一つのサーバに対して一つしか作成できません。スペックディポにあるファイルは自動的にPerforceによって生成され、Perforceシンタックスは次のように表記されます。
//
specdepotname
/formtype
/objectname
[suffix
]
例えば、名前がspec
であり、拡張子が.p4s
であるスペックディポが存在する場合、以下のようにしてjob000123
に対する変更履歴を取得することができます。
p4 filelog //spec/job/job000123.p4s
スペックディポを作成したら、p4 admin updatespecdepotを使用して、現在のクライアント、ディポ、ブランチ、ラベル、タイプマップ、グループ、ユーザ、ジョブの各フォーム集合からデータを読み込みます。スペックディポの設定について詳しくは、『Perforceサーバ管理者ガイド: 基本』を参照してください。
スペックディポの場合、SpecMap:
フィールドを使用して、どのスペックをバージョン化するかを制御できます。デフォルトでは、すべてのスペック(//spec/...
)がバージョン化されます。プロテクションテーブルをバージョン化の対象から外すには、スペックディポのSpecMap:
を以下のように設定します。
SpecMap: //spec/... -//spec/protect/...
スペックマッピングの追加または変更は、スペックディポの今後の更新に対してのみ影響します。スペックディポに既に格納済みのファイルには影響しません。