p4 stream
ストリーム仕様を作成、編集、または削除します。
構文
p4 [g-opts] stream [-P parent] -t typename
部分名p4 [g-opts] stream [-f -d] [-o [-v]] [-P parent] -t typename
[name[@change]]p4 [g-opts] stream -i [-f]
部分名p4 [g-opts] stream edit
p4 [g-opts] stream resolve [-a flag] [-n] [-o]
p4 [g-opts] stream revert
説明
p4 stream
コマンドによってHelixサーバストリームを管理することができます。ストリームとは、変更の構造とフローを制御するための戦略を持つ、階層構造からなるブランチです。 ストリームの階層は、ユーザがストリームに割り当てるタイプによって指定されるストリームの安定性に基づきます。
メインライン |
|
開発 |
|
リリース |
|
タスク |
|
バーチャル |
|
ストリームの内容は、ユーザがマップするパスによって定義されます。 デフォルトの場合、ストリームの構造は親ストリーム(ブランチ元のストリーム)と同じになります。 ただし、ストリームの構造は上書きすることができます。 例えば、構造を上書きすることにより、指定したファイルが他のストリームにサブミットまたは反映されるのを防ぐことができます。
デフォルトでは、p4 stream
はクライアントワークスペースに関連するストリームを編集します。 ストリームワークスペースを使用していない場合は、エラーをスローします。 詳細については、『Helix Coreサーバユーザーガイド』の「ストリーム」の章を参照してください。
ストリームの編集、衝突解決、復元を行う場合の推奨コマンドについては、『Helix Coreサーバユーザーガイド』の「ストリームを更新する」を参照してください。
従来のブランチまたはその他のストリームディポからタスクストリームに反映する場合、ファイルを最初に編集してサブミットしない限り、そのファイルは親ストリームまではコピーされません。
ストリームについて詳しくは、『Helix Coreサーバユーザーガイド』の「ストリーム」の章を参照してください。
ストリームのプライベート編集機能
パブリック編集したストリーム仕様を保存すると、編集内容が即時に反映されます。 ただし、パブリック編集を行うと、他のユーザが行った編集内容に影響する場合があります。 例えば、依存関係を変更した場合(製品コンポーネントを変更した場合など)、製品全体の構造が破損する可能性があります。
ストリームのプライベート編集機能を使用すると、以下の操作が可能になります。
- 特定のストリームを使用している他のユーザに影響しない方法で、そのストリームの仕様とストリームディポ内のファイルを更新する。
- 変更をサブミットする前にその変更のテストを行い、その変更を他のユーザがテストできるように保留する。
- ストリーム仕様の更新履歴の可視性とトラッキング性を高める(単一の不可分なチェンジリストには、ストリーム仕様に対する編集内容とそれに関連するコードの変更内容を保管できるため、こうした可視性とトラッキング性を高めることができます)。
以前のリリースでは、p4 stream editコマンドを使用してストリーム仕様のプライベート編集機能を使用することができましたが、このリリースでもこの機能はサポートされています。 以下に例を示します。
p4 -c aStreamClient stream edit
Stream //Ace/Main@15973 - edit stream spec default change
ただし、p4 stream editコマンドを使用すると、ストリーム仕様に対する編集内容をチェンジリストで追跡できなくなります。
ストリームのプライベート編集のワークフローは、p4 edit、p4 submit、p4 revert、p4 resolveコマンドを使用する標準のワークフローに対応しています。 これらのコマンドで、-So、-Si、-Sxオプションを使用して、ストリーム仕様の編集を実行したりスキップしたりすることができます。
p4 help streamcmdsコマンドを実行した場合の出力行も確認してください。
- ストリームディポの作成方法とStreamDepthフィールドの設定方法については、『ストリームディポを使用する』のp4 depotコマンドの説明を参照してください。
- ストリームの種類に関する詳しい説明とストリームの使用方法については、『Helix Coreサーバユーザーガイド』の「ストリーム」の章と「ストリームを更新する」というトピックを参照してください。
ストリームとグラフディポ
ストリームではグラフタイプのディポからリポジトリをインポートできます。 ストリーム内ではインポートの内容は読み取り専用になります。 以下に例を示します。
- .gitサフィックスが必要です
- リポジトリパスには特定のSHA-1またはrefを含める必要があります
@sha |
構文: import path/... //repo/name.git/restricted/view/path/...@sha 例: import d3/... //repo/d3.git/*.js@c2e37352ac84eb8f90bc2866f715 インポートされたデータは@shaの処理時にロックされます。 |
@ref |
構文: import path/... //repo/name.git/restricted/view/path/...@ref 例: import d3/... //repo/d3@refs/heads/master 同期すると、@refの現在の時刻にデータが更新されます。 |
詳細については、「グラフタイプのディポを使用する」を参照してください。
フォームフィールド
フィールド名 | タイプ | 説明 |
---|---|---|
|
書き込み可能、入力必須 |
ストリームの名前(永続的な識別子)およびストリームディポでのパスを、 ファイル名およびエンティティに関する文字の制限に注意してください。 |
|
読み取り専用 |
ストリーム仕様が最後に変更された日付。 |
|
読み取り専用 |
ストリームの仕様が最後にHelixサーバコマンドによってアクセスされた日時。 |
|
書き込み可能、入力必須 |
ストリームを所有しているHelixサーバユーザまたはグループ。 デフォルトは、ストリームを作成したユーザです。 |
|
書き込み可能 |
ストリームの名前を表示します。 |
|
書き込み可能 |
このストリームの親。 ストリームの |
|
書き込み可能、入力必須 |
ストリームのタイプによって、想定される変更フローが決定されます。 有効なストリームタイプは、
|
|
書き込み可能、任意入力 |
ストリームに関する説明。 |
|
書き込み可能 |
ストリームの動作を構成する設定を以下に示します。
|
|
書き込み可能 |
ファイルがどのようにストリーム構造に組み込まれるかを定義します。 以下の形式を使用して、パスを指定します。
ただし、 デフォルトのパスは次のとおりです: 有効なパスタイプを以下に示します。
デフォルトでは、ストリームは親ストリームの構造を引き継ぎます(メインラインは親がないため除外)。 パスは子ストリームのビューから引き継がれます。 子ストリームのパスでは引き継がれたビューのダウングレードは可能ですが、アップグレードすることはできません。 (例えば、子ストリームでは
ヒント
バーチャルストリームでパスをインポートする場合は、ディポパスの引数を明示的に指定して Stream //stest/mainQ mainline none 'mainQ' Stream //stest/devQ1 development //stest/mainQ 'devQ1' Stream //stest/devQ1-virt virtual //stest/devQ1 'devQ1-virt' バーチャルストリームを除き、すべてのストリームには次のパスを指定して パス: import inca/... share inca/src/libs/rtslib/... バーチャルストリームの
このため、次のようなより明示的な構文を使用することをお勧めします。
注意
ストリーム仕様で類似したファイルタイプのファイルを管理するには、パス定義の最後のスラッシュに続けてワイルドカード(...および*)を明示的に使用します。
|
|
書き込み可能、任意入力 |
ワークスペースファイルの位置を再割り当てします。 反映元パスとワークスペース内での位置を指定するには、次の構文を使用します。
「
|
|
書き込み可能、任意入力 |
クライアントビューで無視されるべきファイル名またはディレクトリ名のリスト。 以下に例を示します。 /tmp # ignores files named "tmp" /tmp/... # ignores directories named "tmp" .tmp # ignores file names ending in .tmp
|
オプション
|
ストリーム仕様を削除します。 ストリーム仕様は、子ストリームまたはストリームのクライアントワークスペースによって参照されている場合には削除できません。 ストリームを削除しても、中のファイルは削除されません。 ただし、そのストリームに変更をサブミットできなくなります。 |
|
管理者は |
|
ストリーム仕様を標準入力から読み取ります。 |
|
ストリーム仕様を標準出力に書き出します。 デフォルトでは、クライアントワークスペースに関連するストリームを出力します。 |
|
冗長オプション。このストリーム用に自動生成されたクライアントビューを含めます。 |
|
新しいストリーム仕様を作成する際にストリームの親を指定します。 (このオプションは既存のストリーム仕様には効果がありません。) |
|
新しいストリーム仕様を作成する際に、ストリームのタイプを |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
詳細については、「グローバルオプション」を参照してください。 |
使用上の留意点
ファイル引数にリビジョン指定子を使えるか? | ファイル引数にリビジョン範囲を使えるか? | 最低限必要なアクセスレベル |
---|---|---|
適用外 |
適用外 |
|
- その名前が示すとおり、タスクストリームは短期的な使用が意図されています。変更を親ストリームに昇格させてタスクストリームの使用を終了したら、タスクストリームを削除してください。
例
p4 stream -t mainline //streams/product1 | ディポ名と同じストリーム内にメインラインストリームが作成されます。 |
|
メインラインをブランチすることにより、プロジェクトX用の開発ストリームを作成します。 |
関連コマンド
ストリームを一覧表示する |
|
ストリームディポを作成する |