7

バージョン6.1のブランチでいくつかの作業を行っているプロジェクトがあります。6.1ブランチ(チェンジセット1800)で行われた変更の1つはバグ修正であり、誰かが6.0製品リリースへのパッチに値するほど緊急であると判断しました。

現在、変更セット1800の前と後の両方で、問題のファイルに変更が加えられています。彼らが望んでいるのは、パッチを6.0に適用することだけです。

http://linux.die.net/man/1/patchによると、変更セット1800と1799を比較してdiffファイルを作成し、そのdiffファイルをパッチとして適用するのが最善の方法のようです。6.0。TFSでこれをどこから始めればよいのかさえわかりません。

フォールバックプランとして、チェンジセット1800の違いを手作業で確認し、最新バージョンの製品にコピーしてパッチを適用することができますが、可能であればこれを適切に実行したいと思います。

余談ですが、diffを適用するだけで、1799> 1800 diffに含まれるコードの一部が、現在の製品バージョンとチェンジセット1799の間でのみ確立されたコードに依存しているという事実を危険にさらすことを理解していますが、それは次の方法で簡単に確認できます。 diffパッチを適用した後、本番環境をすばやく構築してテストします。私たちはそれについて心配していません。

4

1 に答える 1

11

わかりました。完全に理解したかどうかはわかりませんが、次のとおりです。

TFSのチェンジセットは、ファイルの絶対的な内容を保存しませんが、違い(行の追加、削除、変更)を保存します。

バージョン6.1から6.0へのバグ修正を報告する必要があり、この修正が変更セット1800に含まれている場合(そしてこの修正にすぎない場合)、指定された変更セットをバージョン6.0にマージするだけです。チェンジセット1800より前に行われたすべての変更は、6.0ではマージされず、このチェンジセットで行った変更のみがマージされます。

マージを行う場合、2つのオプションがあります。

  1. ソースブランチからデスティネーションブランチへのすべての変更をマージします
  2. 選択したチェンジセットをソースからデスティネーションにマージします。

2つ目を使用して、チェンジセット1800を指定すると、問題ありません。

いくつかの写真:

ここに画像の説明を入力してください

ここに画像の説明を入力してください

選択したチェンジセットのみがマージされます。

于 2012-05-23T18:50:19.217 に答える