ビュー
ビューにはクライアントビュー、ブランチビュー、 およびラベルビューの3種類があります。
- クライアントビューは、ディポ内のファイルをクライアントワークスペース内の ファイルにマッピングします。
- ブランチビューは、ディポ内のファイルをディポのほかの部分にマッピングします。
- ラベルビューは、ディポにあるファイルのグループを単一のラベルに 関連付けます。
各タイプのビューを構成する行は、ディポからのファイルを適切な ネームスペースにマッピングします。クライアントビューおよびブランチビューのマッピングは、 2つのファイル仕様が含まれます。マッピングの左側はディポのネームスペースを参照し、 マッピングの右側はクライアントワークスペースまたは ディポのネームスペースを参照します。ラベルビューでは、 マッピングの左側(ディポのネームスペース)にのみ入力する必要があります。 ファイルは自動的に特定のラベルに関連付けられます。
- すべてのビューは、ディポ内のファイルと、クライアントワークスペース、ブランチ、 またはラベル内のファイルとの間で一対一のマッピングを作成しています。
- マッピングの1つ以上の行が 同じファイルを参照している場合、前のマッピングが オーバーライドされます。
- ハイフン(
-
)で始まるマッピングは、 そのマッピングに適合するファイルをすべて除外します。 - クライアントビューでは、
プラス記号(
+
)で始まるマッピングが以前のマッピングを オーバーレイします。(オーバーレイマッピングはブランチビューやラベルビューでは適用されません。)
ファイル指定は
通常の
Helixサーバシンタックスで
入力できます。//
で始まりディポ名またはワークスペース名が続き、
さらにディポまたはワークスペース内での
実際のファイル名が続きます。(ビューでリビジョン指定子を使用することはできません)。
使用上の注意点
ビューは、p4
client
、p4
branch
、またはp4
label
コマンドで、それぞれ
クライアントワークスペース、ブランチビュー、またはラベルビューを作成するプロセスの一部として設定します。
クライアントビューまたはブランチビュー内でのマッピングの順序は重要です。ビューで後にあるマッピングによって、 必ず前のマッピングがオーバーライドされるためです。
次の2つのマッピングで定義されているビューがあるとします。
//depot/... //ws/... //depot/dir/... //ws/dir2/...
ディポ全体はクライアントワークスペースにマッピングされますが、
ファイル//depot/dir/file.c
は
//ws/dir2/file.c
にマッピングされ、前のマッピングをオーバーライドします。
ビュー内の行の順序が逆になったとします。
//depot/dir/... //ws/dir2/... //depot/... //ws/...
ファイル//depot/dir/file.c
は
//ws/dir/file.c
にマップされます。2番目のマッピングが最初のマッピングをオーバーライドするためです。
パスおよびファイルの名前に含まれる空
ワークスペースビュー、ブランチビューまたはラベルビューにあるパスやファイルの名前に空白が含まれる場合は、
パスを引用符("
)で囲んでください。
//depot/v1/... "//ws/version one/..."
パスおよびファイルの名前に含まれる特殊文字
@
、#
、*
、
または%
の文字が含まれたファイル名やディレクトリ名をマッピングする
(つまり、それらの文字をHelixサーバワイルドカードとして
ではなく
パスやファイル名の構成要素として解釈する)には、
それらの文字を等価のASCII表現に拡張します。
文字 | ASCII拡張 |
---|---|
|
|
|
|
|
|
|
|
クライアントビュー
クライアントビューは、ディポ内のファイルをクライアントワークスペース内の ファイルにマッピングします。クライアントワークスペースとは、 ユーザが作業を行う領域です。ファイルはディポからクライアントワークスペースに同期され、 編集のための作業状態にされ、編集が行われた後、ディポにチェックインされます。
ファイルが同期されるとき、ファイルはディポからクライアントワークスペース内のファイルが マッピングされている場所にコピーされます。 同様に、ファイルがディポにサブミットされるとき、 ファイルはクライアントワークスペースからディポ内の 適切な場所にコピーされます。
次の表は、クライアントビューのいくつかの例をリストにしています。
クライアントビュー | マッピングの例 |
---|---|
ディポ全体にクライアントワークスペース全体がマッピングされています。 |
//depot/... //ws/... |
ディポの一部にクライアントワークスペース全体がマッピングされています。 |
//depot/dir/... //ws/... |
ハイフン( |
//depot/dir/... //ws/... -//depot/dir/exclude/... //ws/dir/exclude/... |
ディポ内のいくつかのファイルが、クライアントワークスペースの 別の部分にマッピングされています。 |
//depot/... //ws/... //depot/rel1/... //ws/release1/... |
クライアントワークスペース内のファイルが、自身のディポ名とは 異なる名前にマッピングされます。 |
//depot/dir/old.* //ws/renamed/new.* |
ディポ内でのファイル名の一部が、クライアントワークスペース内で 並べ替えられます。 |
//depot/dir/%%1.%%2 //ws/dir/%%2.%%1 |
デフォルトでは、2つの行がワークスペース内の同じ場所にマップされた場合、最初の行は無視されます。 |
//depot/dir1/... //ws/build/... //depot/dir2/... //ws/build/... |
オーバーレイマッピングでプラス記号( |
//depot/dir1/... //ws/build/... +//depot/dir2/... //ws/build/... |
アンパサンド(&)を指定すると、「一対多」のマッピングを実行することができます。ディポ内のファイルが、 ワークスペース内の複数の場所にマップされます。行の先頭に「&」が指定されているワークスペースファイルは、読み取り専用ファイルであることに注意してください。 | //depot/shared/include/... //ws/dir1/include/... &//depot/shared/include/... //ws/dir2/include/... |
クライアントビューを作成するには、p4
client
を使用して、
ディポ内のファイルをクライアントワークスペース内のファイルにどのようにマッピングするかを
指定できる画面を表示します。
ビュー仕様でgraph
タイプのディポのファイルをマップすることができます。
詳しくは、「p4
client
」トピックの、
「グラフディポレポジトリをクライアントに含めるに含める」
を参照してください。
ブランチビュー
ソースツリーのブランチを作成することにより、 複数のファイルセットを別のパス上で変更することができます。ブランチビューを作成することによって、 Helixサーバはブランチ作成に関連する ファイルのコピーや編集の伝達作業を 自動管理できます。
ブランチビューは、ディポの既存の領域(反映元ファイル)を ディポの新しい領域(反映先ファイル)にマッピングします。 ブランチビューはクライアントビューの定義に使用される方法と ほぼ同じ方法で定義されますが、ファイルを直接クライアントワークスペースにマッピングするというよりは、 ディポ内のマッピングをセットアップするのみです。 反映はどちらの方向にも実行される可能性があるため、ブランチビュー内の各行ではどちらかの方向を明確に示さなければなりません。 したがって、ブランチビューではオーバーレイマッピングは使用できません。
ブランチビュー | マッピングの例 |
---|---|
メインのコードラインから新しいコードのブランチを作成します。 |
//depot/main/... //depot/1.1dev/... |
新しいリリースでディレクトリを並べ替えます。 |
//depot/main/... //depot/1.1dev/... //depot/main/*.c //depot/1.1dev/src/*.c //depot/main/*.txt //depot/1.1dev/doc/*.txt |
ブランチビューを作成するには、次の構文を使用します。
このコマンドにより
画面(p4 client
で表示する画面と同様)が表示され、
メインのソースツリーからの反映元ファイルを新しいブランチの反映先ファイルに
マッピングできます。
ブランチビューが最初に作成されたときは、ファイルは1つもコピーされません。
ファイルをコピーするには、それらのファイルを使用する目的で、新しく作成したファイルがクライアントビューの中に
確実に記述されていなければなりません。
新しくマッピングされたディポのブランチを現クライアントビューに追加し、
p4 sync
コマンドを実行すれば、
コピーは完了します。
ラベルビュー
ラベルビューは、ディポ内のファイルのセットにラベルを割り当てます。 クライアントビューやブランチビューとは異なり、ラベルビューはファイルをコピーしません。 ラベルビューは、ラベルでタグ付けできるファイルのセットを限定する目的で使用します。
ラベルビュー | マッピングの例 |
---|---|
新しいリリース |
//depot/1.1final/... |
新しいリリースのためのソースコード |
//depot/1.1final/src/... |
クライアントに適した配置 |
//depot/1.1final/bin/... //depot/1.1final/doc/... //depot/1.1final/readme.txt |
ラベルを作成するにはp4
label
を使用し、
ビューのディポ側を入力します。ラベルはファイルとリビジョンレベルの単なるリストであるため、
指定する必要があるのはビューのディポ側(左側)のみであり、
オーバーレイマッピングは使用できません。labelname