ストリームビューとパス

ストリーム仕様には、一連のフィールド名が含まれます(p4 streamを参照)。Pathsフィールド、Remappedフィールド、Ignoredフィールドは、ストリームのビューを定義します。これらのフィールドは、ストリームを構成するファイルとパスを制御し、 それらのファイルの伝播方法を定義します。

  • メインラインストリームには親ストリームが存在しません。
  • タスクストリームまたはバーチャルストリームは、常に親ストリームからビューを継承します。
  • ほかのタイプのストリームは、親ストリームから継承するか、継承しないように設定できます。
  • ただし、リリースストリームの場合は、親ストリームから継承しない方が望ましい場合があります。

子ストリームの構造を変更するには、 パスを次のように指定します。

タイプ 同期を実行? サブミットを実行? 親への/親からの反映を実行? 備考

share

はい

はい

はい

(デフォルト)編集され、親と子のストリーム 間で伝播されるファイルに使用します。共有パスにあるすべてのファイルがブランチされます。 一般的には、共有パスの制限が最も寛容です。

isolate

はい

はい

いいえ

ストリーム外部への伝播は許容されないが、ストリーム内での 編集が可能であるファル(バイナリのビルド結果など)に使用します。

import

はい

いいえ

いいえ

このパス内のファイルは、親ストリームのビュー(デフォルト)または<depot_path> (オプション)にマッピングされます。これらのファイルからワークスペースにアクセスできますが、これらのファイルをサブミットしたり、ストリームに反映させたりすることはできません。

<view_path>を指定した場合、ファイルが使用されていたストリームの親ストリームからそのファイルがインポートされるとは限りません。この場合は、ビューがインポートされます。親ストリームに上位ストリームがあり、親のストリームビューが共有されている場合、ファイルはその上位ストリームからインポートされます。これは、メインラインからインポートされている、リリースストリームまたは開発ストリームから作成されたバーチャルストリームが例として挙げられます。

ストリーム内に物理的に存在する必要がある変更不可のファイル(サードパーティ製ライブラリなど)に対して<depot_path>を指定すると、チェンジリストをエイリアス化するためのチェンジリスト指定子または自動ラベル指定子を使用して、インポートするファイルを、対象となる変更以下のリビジョンだけに制限することができます。この場合、該当するストリームのクライアントでは、表示されるリビジョンが、対象となるディポパス内のその時点におけるリビジョン以下に制限されます。@changelist#構文を //depot/lib3.0/…​@455678のように使用します。

import+

はい

はい

いいえ

importパスと同じように機能します。import+パスでは、 明示的に定義されたディポパスを参照できますが、標準のimportパスとは異なり、 import+パス内のファイルに対して変更をサブミットすることができます。

import&

はい

いいえ

いいえ

importパスと同じように機能しますが、複数のimport&パスで1つの<depot_path>を複数の<view_path>にマッピングできる点が異なります。

このような1対多のマッピングは、反復マッピングとも呼ばれます。

この方法でマーキングされたファイルは、読み取り専用ファイルになります。次のように<depot_path>を指定する必要があります: <view_path> <depot_path>

バックグラウンド転送機能は、グラフディポ閉じた HelixサーバにGitリポを保存するために使用されるグラフタイプのディポ。「Helix4Git」と「クラシックディポ」も参照してください。では使用できません。

詳しくは、『Helix Coreコマンドライン(P4)リファレンス』の「p4 stream」トピックの「ストリーム仕様の反復マッピングの例」を参照してください。

exclude

いいえ

いいえ

いいえ

子ストリームに組み込むことが決して許容されない、 親ストリーム内のファイルに使用します。

以下の例について考えてみます。

  • srcパス内のファイルは、サブミットできません。 これらのファイルは、親ストリームのビューからインポートされます。

  • libパス内のファイルは、サブミットできません。 これらのファイルは、ディポ内で明示的に指定された場所からインポートされます。

  • dbパス内のファイルは、ストリーム内で編集してサブミットすることができますが、 親ストリームにコピーすることはできません。

Paths:
        share ...
        import src/...
        import lib/... //depot/lib3.0/...
        isolate db/...

これらのパスを使用して、ストリームに関連付けられた ワークスペース用のマッピングが生成されます。ストリーム構造が変更されると、 ワークスペースビューが自動的に更新されます(ワークスペースビューを 手動で変更することはできません)。ストリームがロックされている場合、ストリーム所有者 (または、ストリームのOwner:フィールドがグループに設定されている場合は そのグループに所属しているユーザ)のみが、ストリーム仕様を編集できます。

ストリーム仕様で、以下の操作を実行することもできます。

  • ファイルの場所を再マッピングする(これにより、指定されたディポ内にあるファイルが ワークスペース内の別の場所にあるファイルに同期されます)

  • ファイルタイプに応じてファイルを除外する

例えば、オブジェクトファイルおよび実行可能モジュールが ストリームに含まれないようにするには、以下のエントリを ストリーム仕様に追加します。

Ignored:
        .o
        .exe

このセクションも参照してください。