2012年以降の更新(およびすべてを配信し、不要なものを元に戻すという元の「回避策」):
このスレッドを参照してください:
RTC 4.0.5では、ギャップのある変更セットを受け入れようとするときに追加のサポートを提供しました(修正をバックポートしようとするときによく発生します)。
機能の非常に簡単な要約では、ギャップのある変更セットを受け入れる場合、一度に1つの変更セットを受け入れ、ギャップを含む変更セットの場合は、新しい変更セットを作成するギャップワークフローに従うことができます(支援付き)トレーサビリティ)、同等の変更が含まれています。
これは、ユーザーが変更セットを「パッチとして」受け入れる必要がないことを意味します。
パッチとして変更セットを適用することには、新しいワークフローと比較して制限があります。
この機能は、RTC4.0.5の「新規および注目すべき」ページに要約されています。
以下は、この機能を示すいくつかのビデオです。
これが変更セットの検索機能です。
RTC 5.0では、ギャップを埋める変更セットがユーザーに表示される「ギャップを埋める」機能が追加されました。これにより、ユーザーはすべての変更セットを受け入れるか、RTC4.0.5で利用可能だったギャップワークフローを続行できます。 。
この機能は、RTC5.0の「新規および注目すべき」ページに要約されています。
ギャップを埋めるために関係するクラスは次のとおりです(RTC 5.0で利用可能):
client side: IWorkspaceConnection.findChangeSetsToAcceptToFillGap(...)
server side: IScmQueryService.findChangeSetsToAcceptToFillGap(...)
両方の機能については、「 SCMのギャップ処理の改善」の記事で詳しく説明されています。
元の回答(2012)
チェンジセットを分割する方法はありますか?
私はそうは思いません、チェンジセットのマニュアルページを読んでください:
コンポーネント内のファイルまたはフォルダーは、複数のアクティブな変更セットの一部にすることはできません。
ファイルまたはフォルダーがアクティブな変更セットに含まれている場合、そのファイルまたはフォルダーへのすべての変更は、変更セットが最新であるかどうかに関係なく、その変更セットの一部になり、そのファイルまたはフォルダーへの変更は、新しい変更セットに明示的にチェックインできません。それを含むアクティブな変更セットが完了しました。
CS1とCS2にfoo.cがあるということは、CS1が「完了」(本質的には凍結)されていることを意味し、それを分割しようとするのは悪いことです。
パッチソリューションとは、次のことを意味します。
- CS1のキャンセル
- CS2へのfoo.cへの追加の変更の追加
- CS1の変更をやり直す
「ストリームから変更セットを削除するにはどうすればよいですか?」を参照してください。
ストーリー149483は、その面倒なワークフローを強化することであり、ギャップ検出が強化されています(強化24822)
OPtimwojは次のように結論付けています。
結局、すべてを配信してから、不要なものを元に戻しました。