私はTFS 2012にプロジェクトを持ち、ソース管理にTFSを使用しています。私はコードの1つのブランチを持っています。TFS 2012連続変更の変更セットから変更を再適用
次のシナリオを簡単に解決したいと考えています。
ここには、半ダースの変更セットを持つブランチの例があります。
これは(ユーザーをふり、すべては私ではありません!)
- 5219キックオフビルドとテスト実行の物語は、これまで行く方法です。
- 多くの変更がありました(5220,5221および5222)。
- 試運転は5219で終了し、私たちは緑色であり、すべて満足しています。
- その後、CIは5222の試運転を実行します。赤色になります。したがって、私の問題は5220,5221、および5222のうちの1つ(またはいずれか)にあることがわかります。
- 手順の問題として、最後の既知の緑色にロールバックします(5219)
- 5220,5221、および5222には、製品のバックログ項目が戻ってきています - すべてが良いです、私たちは私たちの変更について何か新しいものを見つけました(つまり、私たちが期待していなかったものを壊しました)。
- 私たちは緑色なので、別の作業が行われます(5235)。
これまでのところすべて良いとは言いましたが、たとえば5221を返された人にはどうなりますか。
私がしたいことは、最新のものを最新の状態で入手し、5221変更セットからの変更を(サブバージョンでもできるように)再度適用することです。
powertoolsのtfpt getcsコマンドを使用して、変更セット5221を取得する方法を試すことができます。これは私に別のワークスペースとサーバーのバージョンファイルを与えますが、どんなタイプのマージも試みません。 ブランチ全体のブランチをその時点に戻す方法については、「このバージョンを取得する」方法を試すことができます。 5221の一部として行われた変更を最新のバージョンにマージする方法を考えることはできません。
私のTFSをアップグレードし、TFSソースコントロールから移動する以外のアイデア - 非常に短期間ではないが起こるだろうか?私は複数の支店も明確に操縦したいと思う。私の実際のプロジェクトは大きく、モノリシックで、TFSではあまりにも枝分かれしていません。
回答ありがとうございます。残念なことに、プロジェクトの性質上、CIテスト(主に受入れテスト)には数時間かかることがあります。人々のコードチェックを止めたくないので、すべてのチェックインでそれをゲートすることはできず、すべてのチェックインでCIテストを実行することさえできません。したがって、CIの実行よりも多くのビルドがあります。これは、赤いパイプラインの場合、それを壊してしまった候補が数多くあることを意味します。私たちはユニットテストのためにそれをゲートする(はるかに速い)。 – Jonny