タスクストリームを使用する

タスクストリームは軽量なブランチで、プロジェクトブランチ全体のほんの一部分に影響する作業に使用できます。タスクストリームを使用すると、個人的に作業できるほか、コンテキストをすばやく切り替え、Perforceサービスによって管理されるメタデータの量を削減できます。中小規模の機能開発やバグ修正に適しています。

概要

タスクストリームはスパースで、部分的に個人的です。

  • タスクストリームを初めて作成すると、このタスクストリームに関連付けられているワークスペースのみがストリーム内のファイルを表示できます。

  • タスクストリームに変更をサブミットすると、タスクストリームを使用していないユーザーが変更済みファイルを表示できるようになります。ただし、表示されるのはこれらの変更済みファイルのみです。

    タスクストリームに関連付けられているワークスペースのみが、すべてのファイルとその操作(チェックアウト、保留など)を表示できます。

通常のタスクストリームのワークフローは、タスクストリームが削除またはアンロードされると終了します。

  1. 親ストリームからタスクストリームを作成します(ただし親ストリームは必要ありません)。

  2. タスクストリームを指定します。

  3. 新しい機能を作成してコードをサブミットします。

  4. 親ストリームからタスクストリームに変更をマージダウンします。

  5. 変更をコピーアップします。

  6. タスクストリームを削除またはアンロードします。

タスクストリームは必ずしも削除またはアンロードする必要はありません。たとえば、タスクストリーム内のファイルを半分以上編集したような場合、このストリームはサーバーのオーバーヘッドまたはメタデータ管理負担を節減できません。このような場合は、タスクストリームをレギュラーストリームに変換します。

タスクストリームはレギュラーストリームを使用する場合と同様に使用できますが、以下の例外があります。

  • タスクストリームには親ストリームが必要ありません。

    これにより、ストリームディポで作業していないユーザーがタスクストリームを作成することができます。タスクストリームはストリームディポ内に存在する必要がありますが、このディポはタスクストリームの格納場所にすぎません。使用するストリームディポの詳細情報は、Perforce管理者またはプロジェクトリードに問い合わせてください。詳細情報は、親なしでタスクストリームを作成するを参照してください。

  • 親は別のディポに常駐できます。

    タスクストリームは削除またはアンロードされるまでは、ディポにすばやく格納できます。Perforce管理者またはプロジェクトリードは、特定のストリームディポをタスクストリーム専用の格納場所として指定することにより、タスクストリームがプロジェクトディポに影響を及ぼさないようにすることができます。この場合、タスクストリームのディポに、プロジェクトディポ内の親の子としてストリームを作成します。タスクストリームは別のディポに常駐していても、親のディポの[ストリームグラフ]ビューに表示されます。詳細情報は、別のディポでタスクストリームを作成するを参照してください。

  • タスクストリームに子ストリームを作成することはできません。

  • タスクストリームに親を再設定することはできません。

    タスクストリームに親を再設定するには、まずレギュラーストリームに変換する必要があります。

同じディポの親ストリームからタスクストリームを作成する

  1. [ストリーム]タブで親ストリームをコンテキストクリックし、['stream_name'から新しいストリームを作成...]を選択します。

  2. [ストリーム: 新規]ダイアログで、新しいストリームを定義します。

    • 新しいストリームに固有の名前を付けます。

      タスクストリーム名はタスクストリームを削除している場合でも再利用することはできません。

    • [基本設定]タブで、タスクのストリームタイプを選択します。

    • タスクストリームを配置するディポが現在のディポであること、および親ストリームが正しいことを確認します。

    [ストリーム: 新規]ダイアログの詳細情報は、新しいストリームを作成するを参照してください。

  3. 新しいタスクストリームが[ストリームグラフ]に正しく表示されることを確認します。

    [ストリームグラフ]ビューを更新します。[グラフビューオプション]でタスクストリームを選択する必要がある場合があります。タスクストリームは親の子として、タスクストリームアイコン を付けて表示されます。

別のディポでタスクストリームを作成する

  1. [ストリーム: 新規]ダイアログを開きます。

    以下のいずれかを実行してダイアログを開くことができます。

    • [ファイル] > [新規] > [ストリーム]に移動します。

    • [ストリーム]タブで既存のストリームをコンテキストクリックし、['stream_name'から新しいストリームを作成...]を選択します。

    • [ストリーム]タブで、[ストリームグラフ]の任意の空白部分をコンテキストクリックし、[新しいストリーム]を選択します。

  2. [ストリーム: 新規]ダイアログで、新しいストリームを定義します。

    • 新しいストリームに固有の名前を付けます。タスクストリーム名はタスクストリームを削除している場合でも再利用することはできません。

    • [基本設定]タブで、タスクのストリームタイプを選択します。

    • タスクストリームを配置するディポを選択します。

    • タスクストリームのブランチ元となる(別のディポ内の)親ストリームを選択します。

    [ストリーム: 新規]ダイアログの詳細情報は、新しいストリームを作成するを参照してください。

  3. [ストリームグラフ]ビューを更新し、新しいタスクストリームが正しく表示されることを確認します。

    • 子ストリームのディポの[グラフビューオプション]では、親ストリームと親ストリームのディポが灰色表示され、タスクストリームが通常どおり表示されます。

      子ストリームを選択して[ストリームグラフ]に表示すると、親ストリームおよび親ディポの階層内に子として表示され、タスクストリームアイコン が付けられます。

    • 親のストリームディポの[グラフビューオプション]では、タスクストリームが灰色表示されますが、選択して[ストリームグラフ]に表示できます。

      タスクストリームは親の子として、タスクストリームアイコン を付けて表示されます。

    • 親ストリームのディポを表示する際、子タスクストリームの実際のディポの場所を[ストリームグラフ]に表示したい場合があります。

      • [グラフビューオプション]で、[ストリームの表示]オプションとして[ストリームのルート]を選択します。各ストリームのストリームノードに完全なディポパスが表示されます。

      • ストリームノードのサイズを変更して長いディポパスが表示されるようにするには、[ストリームノードの幅]スライダーを動かします。

        これらの表示プリファレンスは、[P4V] > [プリファレンス] > [ストリーム] (Mac)、または[編集] > [プリファレンス] > [ストリーム] (Windows)で選択することもできます。

親なしでタスクストリームを作成する

  1. [ストリーム: 新規]ダイアログを開きます。

    以下のいずれかを実行してダイアログを開くことができます。

    • [ファイル] > [新規] > [ストリーム]に移動します。

    • [ストリーム]タブで、新しいタスクストリームを格納するストリームディポを選択し、既存のストリームをコンテキストクリックして、['stream_name'から新しいストリームを作成...]を選択します。

    • [ストリーム]タブで、新しいタスクストリームを格納するストリームディポを選択し、[ストリームグラフ]の任意の空白部分をコンテキストクリックして、[新しいストリーム]を選択します。

  2. [ストリーム: 新規]ダイアログで、新しいストリームを定義します。

    • 新しいストリームに固有の名前を付けます。

      タスクストリーム名はタスクストリームを削除している場合でも再利用することはできません。

    • [基本設定]タブで、タスクのストリームタイプを選択します。

    • タスクストリームを配置するディポを選択します。

      親のないストリームの場合、これは通常、タスクストリームを格納する専用場所となるストリームディポになります。使用するストリームディポの詳細情報は、Perforce管理者またはプロジェクトリードに問い合わせてください。

    • 親ストリームのフィールドは空白のままにします。

    [ストリーム: 新規]ダイアログの詳細情報は、新しいストリームを作成するを参照してください。

  3. [ストリーム]タブに新しいタスクストリームが表示されることを確認します。

    親のないタスクストリームは、表示する関係がないため[ストリームグラフ]に表示されません。[リスト]または[ツリー]ビューを使用することにより、[ストリーム]タブで親のないタスクストリームを表示できます。

  4. 新しいタスクストリームを指定します。

    • [ストリーム]タブの[リスト]または[ツリー]ビューでタスクストリームをコンテキストクリックし、[ファイルをブランチ...]を選択して、[ブランチ]ダイアログを開きます。

    • [反映元と反映先のファイルを指定]を選択するか、[ブランチマッピングを使用]を選択するかに応じて、新しいタスクストリームにソースとしてブランチするファイルと、ターゲットとして使用する新しいストリームを選択します。

      親のないストリームは、[表示]ダイアログの[対象ファイル/フォルダを選択]フィールドに表示されません。新しいタスクストリームをコンテキストクリックして[ブランチ]ダイアログを開いた場合、デフォルトでこのフィールドにストリームが表示されます。そうでない場合は、完全なディポパスを手動で入力する必要があります。

    • ブランチングプロセスでこの操作を実行しなかった場合は、ブランチしたファイルが含まれているチェンジリストをサブミットします。

    [ブランチ]ダイアログの詳細情報は、ブランチを作成するを参照してください。

    新しいタスクストリームは、[マージ/反映]ダイアログを使用して指定することもできます。詳細情報は、コードライン間でファイルをマージするを参照してください。

  5. 新しいタスクストリームが指定されていることを確認します。

    • 新しいタスクストリームワークスペースで作業している場合、ファイルは[ディポ]ビューに表示されます。

    • 最新のリビジョン(同期)を新しいタスクストリームワークスペースに取得した場合、ファイルは[ワークスペース]ビューに表示されます。

タスクストリームをレギュラーストリームに変換する

重要

タスクストリームをレギュラーストリームに変換すると、変換して元に戻すことはできなくなります。

タスクストリームをレギュラーストリームに変換する手順は以下のとおりです。

  1. [ストリーム]タブでタスクストリームをコンテキストクリックし、[ストリーム'stream_name'を編集]を選択します。

  2. ストリームタイプを目的のレギュラーストリームタイプに変更します。

    • 親を持つタスクストリームは、リリースストリームまたは開発ストリームにのみ変換できます。

    • 親のないタスクストリームは、メインラインストリームにのみ変換できます。

    • タスクストリームはバーチャルストリームに変換することはできません。

  3. 変換するタスクストリームと親ストリーム(存在する場合)が同じディポ内に存在することを確認します。

タスクストリームを削除およびアンロードする

タスクストリームは処理が終了したら必ず削除またはアンロードする必要があります。Perforce管理者がバッチプロセスを実行し、非アクティブなタスクストリームを定期的に削除またはアンロードすることもできます。サブミットされたファイルはタスクストリームを削除してもディポに残ることに注意してください。また、削除したタスクストリームの名前は再利用できないことにも注意してください。

タスクストリームを削除する

  1. ([グラフ]、[ツリー]、[リスト]ビューの) [ストリーム]タブで、ストリームをコンテキストクリックします。

  2. [ストリーム'stream_name'を削除]を選択します。

アンロードすると、あまり使用されていないメタデータは、バージョニングエンジンのデータベースファイルから、アンロードディポ内のフラットファイルセットに転送されます。タスクストリームをアンロードした後、再び使用する必要が生じた場合は、タスクストリームをリロードできます。

タスクストリームをアンロードする手順は以下のとおりです。

  1. ([グラフ]、[ツリー]、[リスト]ビューの) [ストリーム]タブで、ストリームをコンテキストクリックします。

  2. [ストリーム'stream_name'をアンロード]を選択します。

アンロード済みタスクストリームをリロードする手順は以下のとおりです。

  1. [リスト]または[ツリー]ビューで[ストリーム]タブを表示します。

  2. [フィルター]パネルで [アンロード...]アイコンを選択して[アンロード済みストリーム]ダイアログを開き、リロードするアンロード済みストリームをフィルターして選択します。

  3. ストリームをコンテキストクリックし、[ストリームをリロード]を選択します。

アンロードの詳細については、『Perforceコマンドリファレンス』を参照してください。

タスクストリームファイルをファイル履歴結果から除外する

ファイル履歴を表示する際に、タスクストリームにサブミットしたファイルリビジョンを除外する手順は以下のとおりです。

  1. [P4V] > [プリファレンス] (Mac)、または[編集] > [プリファレンス] (Windows)に移動し、[ファイルおよび履歴]を選択します。

  2. [(ブランチまたはコピー操作の後で)'タスク'ストリームからファイル/リビジョンを隠す]を選択します。