ビュー

概要

ビューにはクライアントビューブランチビュー、およびラベルビューの3種類があります。

  • クライアントビューは、ディポ内のファイルをクライアントワークスペース内のファイルにマッピングします。

  • ブランチビューは、ディポ内のファイルをディポの他の部分にマッピングします。

  • ラベルビューは、ディポにあるファイルのグループを単一のラベルに関連付けます。

各タイプのビューを構成する行は、ディポからのファイルを適切なネームスペースにマッピングしています。クライアントビューおよびブランチビューのマッピングは、2つのファイルの指定です。マッピングの左側は常にディポのネームスペースを参照し、マッピングの右側はクライアントワークスペースまたはディポのネームスペースを参照します。ラベルビューでは、マッピングの左側(ディポのネームスペース)のみ入力する必要があります。ファイルは自動的に特定のラベルに関連付けられます。

すべてのビューは、ディポ内のファイルと、クライアントワークスペース、ブランチ、またはラベル内のファイルとの間で一対一のマッピングを作成しています。マッピングの1つ以上の行が同じファイルを参照している場合、前のマッピングがオーバーライドされます。ハイフン(-)で始まるマッピングは、そのマッピングに適合するファイルをすべて除外します。クライアントビューでは、プラス記号(+)で始まるマッピングが以前のマッピングをオーバーレイします(オーバーレイマッピングはブランチビューやラベルビューでは適用されません)。

“ファイル指定”マッピング内のファイル指定は通常のPerforceシンタックスで入力できます。//で始まりディポ名またはワークスペース名が続き、さらにディポまたはワークスペース内での実際のファイル名が続きます。(リビジョン指定子をビューの中で使用することはできません。)

使用上の留意点

ビューは、p4 clientp4 branch、またはp4 labelコマンドで、それぞれクライアントワークスペース、ブランチビュー、またはラベルビューを作成するプロセスの一部として設定します。

クライアントビューまたはブランチビュー内でのマッピングの順序は重要です。例えば、以下の2つのマッピングで定義されるビューがあります。

//depot/...     //ws/...
//depot/dir/... //ws/dir2/...

このビュー内では、ディポはクライアントワークスペースにマッピングされ、ファイル//depot/dir/file.c//ws/dir2/file.cにマッピングされます。しかし、ビュー内の行の順序が逆になったとします。

//depot/dir/... //ws/dir2/...
//depot/...     //ws/...

すると最初のマッピング(ファイルを//ws/dir2にマッピング)が2番目のマッピング(ディポ全体をクライアントワークスペースにマッピング)にオーバーライドされるので、ファイル//depot/dir/file.c//ws/dir/file.cにマッピングされます。ビュー内で後にあるビューが常に、前にあるマッピングをオーバーライドします。

パスおよびファイルの名前に含まれる空白

ワークスペースビュー、ブランチビューまたはラベルビューにあるパスやファイルの名前に空白が含まれる場合、必ずパスに引用符を付けてください。

//depot/v1/... "//ws/version one/..."

パスおよびファイルの名前に含まれる特殊文字

@#*、または%の文字が含まれたファイル名やディレクトリ名をマッピングするには(つまり、それらの文字をPerforceワイルドカードとしてではなくパスやファイル名の構成要素として解釈するには)、次のようにそれらの文字を等価のASCII表現に拡張します。

文字

ASCII拡張

@

%40

#

%23

*

%2A

%

%25

クライアントビュー

クライアントビューは、ディポ内のファイルをクライアントワークスペース内のファイルにマッピングします(またはその逆)。クライアントワークスペースとは、ユーザが作業を行う領域で、ファイルはクライアントワークスペースに同期され、編集のための作業状態になり、編集され、ディポにチェックインされます。

ファイルが同期されるとき、ファイルはディポからクライアントワークスペース内のファイルがマッピングされている場所にコピーされます。同様に、ファイルがディポにサブミットされるときは、マッピングが逆になり、ファイルはクライアントワークスペースからディポ内のファイルの適切な場所にコピーされます。

以下の表は、クライアントビューのいくつかの例をリストにしています。

クライアントビュー

マッピングの例

ディポ全体にクライアントワークスペース全体がマッピングされています。

//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行目が優先され、1行目は無視されます。

//depot/dir1/... //ws/build/...
//depot/dir2/... //ws/build/...

オーバーレイマッピングを使用して、複数のディポディレクトリをワークスペース内の同じ場所にマッピングします。

//depot/dir1/...  //ws/build/...
+//depot/dir2/... //ws/build/...

クライアントビューを作成するには、p4 clientを使用して、ディポ内のファイルをクライアントワークスペース内のファイルにどのようにマッピングするかを指定できる画面を表示します。

ブランチビュー

ソースツリーのブランチを作成することにより、複数のファイルセットを別のパス上で変更することができます。ブランチビューを作成することによって、Perforceはブランチ作成に関連するファイルのコピーや編集の伝達作業を自動管理できます。

ブランチビューは、ディポの既存の領域(反映元ファイル)をディポの新しい領域(反映先ファイル)にマッピングします。ブランチビューはクライアントビューの定義に使用される方法とほぼ同じ方法で定義されますが、ファイルを直接クライアントワークスペースにマッピングするというよりは、ディポ内のマッピングをセットアップするだけです。反映はどちらの方向にも実行される可能性があるため、ブランチビュー内の各行ではどちらかの方向を明確に示さなければなりません。したがって、ブランチビューではオーバーレイマッピングは使用できません。

ブランチビュー

マッピングの例

メインのコードラインから新しいコードのブランチを作成します。

//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 branch newbranchを使用します。このコマンドにより画面(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を使用し、ビューのディポサイドを入力します。ラベルはファイルとリビジョンレベルの単なるリストであるため、指定する必要があるのはビューのディポサイド(左側)だけであり、オーバーレイマッピングは使用できません。