タスクストリーム

タスクストリームは、軽量の短期的なストリームであり、バグ修正や、ストリームデータのほんの一部しか修正しない新機能に使用します。 ブランチ(コピー)されたファイルは後から削除される一連のシャドウテーブルに記録されるため、このタイプのストリームの使用時にはレポジトリに最小限のメタデータのみが保持され、サーバのパフォーマンスが最適化されます。

タスクストリームは開発ストリームと同様に動作するブランチですが、親ストリーム(逆方向)にブランチされるまでは半プライベートな状態に保たれます。 このストリームは軽量なブランチとして設計されており、ブランチ内で予測される作業がブランチ内のファイル数と比較して少数のファイルにのみ影響する場合に最も有効です。

注意

DVCSはタスクストリームをサポートしません。

タスクストリームは、使用後に削除またはアンロードされることが想定されています。 タスクストリームを削除した後であっても、そのストリーム名を再利用することはできないため、ほとんどのサイトでは、タスクごとに固有の命名規則(例: user-date-jobnumber)を採用することになります。

タスクストリーム内での作業は、開発ストリームでの作業と同様です。

  1. タスクストリーム(この例では、開発ストリームの子)を作成します。

    $ p4 stream -t task -P //projectX/dev //Tasks/mybug123
  2. ストリームにデータを取り込みます。

    $ p4 populate -d "Fix bug 123" -S //Tasks/mybug123 -r
  3. ストリーム内のファイルに変更を加え、変更をサブミットします。
  4. 必要な変更を親ストリームからマージダウンし、必要に応じて衝突を解決します。

    $ p4 merge
  5. 変更内容を親ストリームにコピーアップします。

    $ p4 copy --from //Tasks/mybug123
  6. タスクストリームを削除またはアンロードします。

    $ p4 stream -d //Tasks/mybug123

    (または、p4 unloadを使用してタスクストリームをアンロードします。)

    $ p4 unload -s //Tasks/mybug123

    タスクストリームの削除とアンロードについては、タスクストリームの削除とアンロードを参照してください。

タスクストリームに関連付けられたワークスペースでのみ、ストリーム内のすべてのファイルを表示できます。ストリームは、ほかのワークスペースへのスパースブランチとして表示されます。これらのワークスペースには、タスクストリーム内で変更したファイルとリビジョンのみが表示されます。 タスクストリームのほかのほとんどのメタデータはプライベートの状態で保持されます。

タスクストリームは削除またはアンロードされるまでディポ内に急速に蓄積されます。プロジェクトのディポがタスクストリームでいっぱいにならないように、Helix Core管理者またはプロジェクトリードが、タスクストリーム専用の保存領域として特定のストリームディポを構築することを検討してください。 この場合、タスクストリームのディポ内にストリームを作成するときには、プロジェクトディポ内にある親ストリームの子ストリームとして作成します。

タスクストリームは、その子または親とは別のディポに配置できるため、一意です。 ただし、タスクストリームをその子または親と同じディポ内に配置するのがベストプラクティスです。

タスクストリームの削除とアンロード

Helixサーバデータベース・テーブルに空きをつくるには、タスクストリームを削除またはアンロードします。 削除すると復元はできません。削除したタスクストリームでは作業を行うことはできません。 アンロードしたタスクストリームでは、再度作業を行うことができます。

タスクストリームをアンロードするには、p4 unloadコマンドを使用します。 詳細については、『P4コマンドリファレンス』のp4 unloadのページを参照してください。