UserAが Perforce で変更リストを作成し、それを棚上げできるようにしたいと考えています。次に、 UserBがそのチェンジリストの保留を解除してサブミットできるようにしたいと考えています。
これは簡単に聞こえますが、Perforce のシェルフ解除は期待どおりには機能しないようです。UserB が 'p4 unshelve -s 1234' を実行すると、変更 1234 から変更されたすべてのファイルが取り消されますが、変更のメタデータ (説明、ジョブ修正) は取り込まれません! これは、UserB が棚上げされた CL をまったく新しい CL にコピーして送信できることを意味します (説明と修正を手動で再作成することによって) が、古い棚上げされた CL がそのまま残ります。
ここでの論理的なことは、UserBが
- CL の棚上げを解除する
- 棚上げされた CL のメタデータを表示する
- そのメタデータを新しいCLにコピーします。
- 新しい CL を提出する
- 古い保留 CL を削除する
以前にこの問題が発生したことはありますか? どのように解決しましたか?
編集:私の質問は非常に一般化されていることを明確にする必要があります。UserAが開発者で、UserBがビルド システム自体であるツールに取り組んでいます。開発者は CL を棚上げしてから、ビルド システムの棚上げを解除し、一連のビルドとテストでそれを検証します (これらのすべてのテストに合格した場合、CL を自動的に送信します)。ビルド システムが保留中の CL を提出した場合、すべての開発者が忘れずに CL を削除することを期待するのは、失敗する運命にあるようです!