タスクストリームを使用する
タスクストリームは軽量なブランチで、プロジェクトブランチ全体のほんの一部分に影響する作業に使用できます。タスクストリームを使用すると、個人的に作業できるだけでなく、コンテキストをすばやく切り替えたり、Helixサーバによって管理されるメタデータの量を削減することができます。中小規模の機能開発やバグ修正に適しています。
概要
タスクストリームはスパースで、部分的に個人的です。
- タスクストリームを初めて作成すると、このタスクストリームに関連付けられているワークスペースのみがストリーム内のファイルを表示できます。
-
タスクストリームに変更をサブミットすると、タスクストリームを使用していないユーザが変更済みファイルを表示できるようになります。ただし、表示されるのはこれらの変更済みファイルのみです。
タスクストリームに関連付けられているワークスペースのみが、すべてのファイルとその操作(チェックアウト、保留など)を表示できます。
タスクストリームがディポツリーパネルに表示されるのは、そのタスクストリームにデータが取り込まれていて、ワークスペースが設定され、そのワークスペースが選択されている場合だけです。
通常のタスクストリームのワークフローは、タスクストリームが削除またはアンロードされると終了します。
- 親ストリームからタスクストリームを作成します(ただし親ストリームは必要ありません)。
- タスクストリームを指定します。
- 新しい機能を作成してコードをサブミットします。
- 親ストリームからタスクストリームに変更をマージダウンします。
- 変更をコピーアップします。
- タスクストリームを削除またはアンロードします。
タスクストリームは必ずしも削除またはアンロードする必要はありません。例えば、タスクストリーム内のファイルを半分以上編集したような場合、このストリームはサーバのオーバーヘッドまたはメタデータ管理負担を節減できません。このような場合は、タスクストリームをレギュラーストリームに変換します。
タスクストリームはレギュラーストリームを使用する場合と同様に使用できますが、以下の例外があります。
-
タスクストリームには親ストリームが必要ありません。
これにより、ストリームディポで作業していないユーザがタスクストリームを作成することができます。タスクストリームはストリームディポ内に存在する必要がありますが、このディポはタスクストリームの格納場所にすぎません。使用するストリームディポの詳細情報については、Helixサーバの管理者またはプロジェクトリードに問い合わせてください。詳細情報については、「親なしでタスクストリームを作成する」を参照してください。
-
親は別のディポに常駐できます。
タスクストリームは削除またはアンロードされるまでは、ディポにすばやく格納できます。Helixサーバの管理者またはプロジェクトリードは、特定のストリームディポをタスクストリーム専用の格納場所として指定することにより、プロジェクトディポがタスクストリームの影響を受けないようにすることができます。この場合、タスクストリームのディポに、プロジェクトディポ内の親の子としてストリームを作成します。別のディポ内に存在するタスクストリームも、親のディポの[ストリームグラフ]ビューに表示されます。詳細については、「別のディポでタスクストリームを作成する」を参照してください。
- タスクストリームに子ストリームを作成することはできません。
-
タスクストリームに親を再設定することはできません。
タスクストリームに親を再設定するには、まずレギュラーストリームに変換する必要があります。
同じディポ内の親ストリームからタスクストリームを作成する
- [ストリーム]タブで親ストリームを右クリックし、['ストリーム名'から新しいストリームを作成...]を選択します。
-
[ストリーム: 新規]ダイアログで、新しいストリームを定義します。
-
新しいストリームに固有の名前を付けます。
タスクストリーム名はタスクストリームを削除している場合でも再利用することはできません。
- [基本設定]タブで、タスクのストリームタイプを選択します。
-
タスクストリームを配置するディポが現在のディポであること、および親ストリームが正しいことを確認します。
[ストリーム: 新規]ダイアログについての詳細情報は、「ストリームの作成」を参照してください。
-
-
新しいタスクストリームが[ストリームグラフ]に正しく表示されることを確認します。
[ストリームグラフ]ビューを更新します。[グラフビューオプション]でタスクストリームを選択する必要がある場合があります。タスクストリームは、親の子として、タスクストリームアイコン 付きで表示されます。
別のディポでタスクストリームを作成する
-
[ストリーム: 新規]ダイアログを開きます。
以下のいずれかを実行してダイアログを開くことができます。
- [ファイル] > [新規] > [ストリーム]に移動します。
- [ストリーム]タブで既存のストリームを右クリックし、['ストリーム名'から新しいストリームを作成...]を選択します。
- [ストリーム]タブで、ストリームグラフ内の任意の空白部分を右クリックし、[新しいストリーム]を選択します。
-
[ストリーム: 新規]ダイアログで、新しいストリームを定義します。
- 新しいストリームに固有の名前を付けます。タスクストリーム名はタスクストリームを削除している場合でも再利用することはできません。
- [基本設定]タブで、タスクのストリームタイプを選択します。
- タスクストリームを配置するディポを選択します。
-
タスクストリームのブランチ元となる(別のディポ内の)親ストリームを選択します。
[ストリーム: 新規]ダイアログについての詳細情報は、「ストリームの作成」を参照してください。
-
[ストリームグラフ]ビューを更新し、新しいタスクストリームが正しく表示されることを確認します。
-
子ストリームのディポの[グラフビューオプション]では、親ストリームと親ストリームのディポが灰色表示され、タスクストリームが通常どおり表示されます。
子ストリームを選択して[ストリームグラフ]で表示すると、親ストリームと親ディポの階層内にそのストリームが子として表示され、タスクストリームアイコン が付けられます。
-
親のストリームディポの[グラフビューオプション]では、タスクストリームが灰色表示されますが、タスクストリームを選択して[ストリームグラフ]に表示することができます。
タスクストリームは、親ストリームの子ストリームとして表示されます。タスクストリームには、次のタスクストリームアイコンが表示されます:
-
親ストリームのディポを表示する際に、子タスクストリームの実際のディポの場所を[ストリームグラフ]に表示したい場合があります。
-
[グラフビューオプション]で、[ストリームの表示]オプションとして[ストリームのルート]を選択します。各ストリームのストリームノードに完全なディポパスが表示されます。
-
ストリームノードのサイズを変更して長いディポパスが表示されるようにするには、[ストリームノードの幅]スライダーを動かします。
これらの表示設定は、[P4V] > [プリファレンス] > [ストリーム] (Macの場合)、または[編集] > [プリファレンス] > [ストリーム] (Windowsの場合)で選択することもできます。
-
-
親なしでタスクストリームを作成する
-
[ストリーム: 新規]ダイアログを開きます。
以下のいずれかを実行してダイアログを開くことができます。
- [ファイル] > [新規] > [ストリーム]に移動します。
- [ストリーム]タブで、新しいタスクストリームを格納するストリームディポを選択し、既存のストリームを右クリックして、['ストリーム名'から新しいストリームを作成...]を選択します。
- [ストリーム]タブで、新しいタスクストリームを格納するストリームディポを選択し、ストリームグラフ内の任意の空白部分を右クリックして、[新しいストリーム]を選択します。
-
[ストリーム: 新規]ダイアログで、新しいストリームを定義します。
-
新しいストリームに固有の名前を付けます。
タスクストリーム名はタスクストリームを削除している場合でも再利用することはできません。
- [基本設定]タブで、タスクのストリームタイプを選択します。
-
タスクストリームを配置するディポを選択します。
親のないストリームの場合、これは通常、タスクストリームを格納する専用場所となるストリームディポになります。使用するストリームディポの詳細情報については、Helixサーバの管理者またはプロジェクトリードに問い合わせてください。
-
親ストリームのフィールドは空白のままにします。
[ストリーム: 新規]ダイアログについての詳細情報は、「ストリームの作成」を参照してください。
-
-
[ストリーム]タブに新しいタスクストリームが表示されることを確認します。
親のないタスクストリームは、表示する関係がないため[ストリームグラフ]に表示されません。[リスト]または[ツリー]ビューを使用することにより、[ストリーム]タブで親のないタスクストリームを表示できます。
-
新しいタスクストリームを指定します。
- [ストリーム]タブのリストビューまたはツリービューでタスクストリームを右クリックし、[ファイルをブランチ...]を選択して[ブランチ]ダイアログを開きます。
-
[反映元と反映先のファイルを指定]を選択するか、[ブランチマッピングを使用]を選択するかに応じて、新しいタスクストリームにソースとしてブランチするファイルと、ターゲットとして使用する新しいストリームを選択します。
親のないストリームは、[表示]ダイアログの[対象ファイル/フォルダを選択]フィールドに表示されません。新しいタスクストリームを右クリックして[ブランチ]ダイアログを開いた場合、デフォルトでこのフィールドにストリームが表示されます。そうでない場合は、完全なディポパスを手動で入力する必要があります。
-
ブランチングプロセスでこの操作を実行しなかった場合は、ブランチされたファイルが含まれているチェンジリストをサブミットします。
[ブランチ]ダイアログの詳細情報については、「ブランチを作成する」を参照してください。
新しいタスクストリームは、[マージ/反映]ダイアログを使用して指定することもできます。詳細情報については、「コードライン間でファイルをマージする」を参照してください。
-
新しいタスクストリームが指定されていることを確認します。
- 新しいタスクストリームワークスペースで作業している場合、ファイルは[ディポ]ビューに表示されます。
- 最新のリビジョン(同期)を新しいタスクストリームワークスペースに取得した場合、ファイルは[ワークスペース]ビューに表示されます。
タスクストリームをレギュラーストリームに変換する
タスクストリームをレギュラーストリームに変換すると、変換して元に戻すことはできなくなります。
タスクストリームをレギュラーストリームに変換する手順は以下のとおりです。
- [ストリーム]タブでタスクストリームを右クリックし、[ストリーム'ストリーム名'を編集]を選択します。
-
ストリームタイプを目的のレギュラーストリームタイプに変更します。
- 親を持つタスクストリームは、リリースストリームまたは開発ストリームにのみ変換できます。
- 親のないタスクストリームは、メインラインストリームにのみ変換できます。
- タスクストリームはバーチャルストリームに変換することはできません。
- 変換するタスクストリームと親ストリーム(存在する場合)が同じディポ内に存在することを確認します。
タスクストリームを削除またはアンロードする
タスクストリームは処理が終了したら必ず削除またはアンロードする必要があります。Helixサーバ管理者は、バッチプロセスを実行し、非アクティブなタスクストリームを定期的に削除またはアンロードすることができます。サブミットされたファイルはタスクストリームを削除してもディポに残ることに注意してください。また、削除したタスクストリームの名前は再利用できないことにも注意してください。
タスクストリームを削除する
- グラフビュー、ツリービュー、またはリストビューの[ストリーム]タブで、ストリームを右クリックします。
- [ストリーム'stream_name'を削除]を選択します。
ワークスペースをアンロードすると、使用頻度の低いメタデータが、バージョニングエンジンのデータベースファイルから、アンロードディポ内のフラットファイルセットに転送されます。タスクストリームをアンロードした後、再び使用する必要が生じた場合は、タスクストリームをリロードできます。
タスクストリームをアンロードする手順は以下のとおりです。
- グラフビュー、ツリービュー、またはリストビューの[ストリーム]タブで、ストリームを右クリックします。
- [ストリーム'stream_name'をアンロード]を選択します。
アンロード済みタスクストリームをリロードする手順は以下のとおりです。
- [リスト]または[ツリー]ビューで[ストリーム]タブを表示します。
- [フィルタ]パネルで [アンロード...]アイコンを選択して[アンロード済みストリーム]ダイアログを開き、リロードするアンロード済みストリームをフィルタリングして選択します。
- ストリームを右クリックして[ストリームをリロード]を選択します。
アンロードの詳細については、Helix Core P4コマンドリファレンスを参照してください。
タスクストリームファイルをファイル履歴結果から除外する
ファイル履歴を表示する際に、タスクストリームにサブミットしたファイルリビジョンを除外する手順は以下のとおりです。
- [P4V] > [プリファレンス] (Macの場合)、または[編集] > [プリファレンス] (Windowsの場合)に移動し、[ファイルおよび履歴]を選択します。
- [(ブランチまたはコピー操作の後で)'タスク'ストリームからファイル/リビジョンを隠す]を選択します。