私の職場では Perforce を使用しており、ストリームを使用して個別の開発作業を分離することにしました。私たちの何人かは Git の豊富な経験を持っているため、Git 規則をストリームにマッピングしています (おそらく間違っている可能性があります)。
当面の問題は、機能ブランチ/機能ストリームと、それらを廃止する方法です。すでに 30 以上のストリームがありますが、それらのいくつかは古くなってアクティブではなくなりました。
ストリームを削除すると、ストリーム リストは少しきれいになりますが、デポ ファイルはそのまま残ります。誰かが後で同じ名前の新しいストリームを作成した場合 (これは私たちの環境ではかなり妥当です)、Main からストリームに最新のファイルを確実にマージする必要があります。さらに悪いことに、誰かがストリームを作成し、いくつかの探索的コミットを行い、その後ストリームを放棄した場合、次のストリーム所有者は、最初にストリームを良好な状態にするように注意する必要があります。
さらに一歩進んで、ストリームを削除する直前にストリームに関連付けられたデポ ファイルを削除することもできますが、この変更をメインにコピーしないように注意する必要があります。ストリームを復活させるとき、メインをストリームのディポ パスに強制的に統合することができます。これにより、ストリームの 2 つの別々の使用法が明確に区別されるはずです。
いずれにせよ、それらは私が持っていたいくつかのアイデアです。ストリームを機能ブランチとして使用する方法について誰かが推奨事項を持っているかどうか、特に、廃止して後で同じ名前のストリームを作成して新しい機能に使用する方法について実用的なアドバイスがあるかどうかを知りたいと思っていました。または、おそらくストリームを間違った方法で見ており、「機能ストリーム」を含まない解決策を見つける必要があります-それらの線に沿った提案も高く評価されます.
アップデート
最終的に、機能ごとに新しいストリームを作成することにしました。ストリーム名には、発行番号と、ストリームの漠然とした平易な英語の名前が含まれています。これにより、作業を完全に分離することができ、デッド ストリームが「偶然に」復活するのを防ぎ、ストリームの半分の「ストリーム スペック」を廃止する明確な時間 (つまり、課題がクローズされたとき) を得ることができます。最終的に、実際のディポ ツリーには多くの混乱が生じますが、それを回避する方法はありません。ほとんどのストリームの選択を解除すると、グラフィカルなストリーム ビューが管理しやすくなります。最終的には、優れた解決策ではありませんが、Perforce がさらに軽量なブランチを追加するまでは、これが最善の解決策のようです。
Perforce サーバーは、タスク ストリームをサポートするサーバーにまだアップグレードしていません。さらに調査を進めると、これで混乱の一部は解決できると思いますが、ネーミングの問題は解決しません。また、デポ ツリーの乱雑さをタスク ストリームで隠せるかどうかもまだ明らかではありません。サーバーをアップグレードするときにわかります。