2012-05-23 15 views
6

バージョン6.1のブランチで作業しているプロジェクトがあります。 6.1ブランチで行われた変更の1つ(チェンジセット1800)はバグ修正であり、誰かが6.0リリースのリリースにパッチを当てることが十分に緊急であると判断しました。Visual Studioで別のブランチから別のブランチに差分を適用するTFS

ここでは、1800年以降のチェンジセットの前に問題のファイルが変更されました。彼らが望むのは、パッチを6.0に適用するだけです。 http://linux.die.net/man/1/patch 1として

、行うための最善のことは、6.0へのパッチように、その差分ファイルを適用その後、1799年にチェンジ1800年を比較して差分ファイルを作成し、になるだろうと思われます。私はTFSでこれをどこから始めるべきかさえ知らない。

フォールバックプランとして、私はいつでもチェンジセット1800の違いを手作業で調べて最新バージョンのプロダクションにコピーしてパッチを当てることができますが、可能であればこれを正しく実行したいと思います。

: 私は差分を適用することで、あなたは1799> 1800の差分に関与したコードの一部は、唯一の現在の製品版とチェンジ1799年の間に確立されたコードに依存しているという事実を危険にさらすことを理解diffパッチが適用された後に、迅速に製品をビルドしてテストすることで簡単に検証できます。私たちはそれについて心配していません。 (行が追加、削除、変更)TFSにおける

チェンジファイルの絶対的なコンテンツを格納しませんが、違い:

+0

私は急いでいたので、差分を見て、変更をコピーしたものを手作業でチェックアウトしたものにコピーペーストしなければなりませんでしたが、私は組み込みのTFSコマンドを使ってこれを行う方法を知りたいのです将来も。私は先進的なTFSのもののどこかにコマンドラインユーティリティがあることを知っていますが、私はそれをぶち込んだことはありません。 – Alain

答えて

9

[OK]を、私は完全に理解わからないんだけど、ここにあります。

バグフィックスをバージョン6.1から6.0に報告したい場合、このフィックスがチェンジセット1800に含まれている場合(およびこのフィックス以外には何もありません)、与えられたチェンジセットをバージョン6.0にマージしてください。チェンジセット1800以前のすべての変更は6.0でマージされません。このチェンジセットで行った変更のみがマージされます。

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

  1. を先に元支店からのすべての変更をマージする1
  2. は、宛先1へのソースから選択されたチェンジセットをマージします。

第2のものを使用してチェンジセット1800を指定すれば、問題ありません。

いくつかの写真:選択

enter image description here

enter image description here

ONLYチェンジがマージされます。

+0

「Merge> Selected Changesets>」を選択して「1800」を選択すると、* 1800までのすべてをマージしようとします。この機能を使用して1799年から1800年の間に加えられた変更だけをマージする別の方法があることを確認しましたか? – Alain

+0

質問を正しく理解していれば、6.1に属していない6.0ブランチには何もありません。もしそうなら、6.0から6.1_priorへの完全なマージが実際のチェンジセットマージに役立つでしょう。 __そして__そしてそれはTFS 2010からのものだけです。チェンジセットには違いが含まれています。これに先立って、このようなマージを行うことは非常に難しいことです。 –

+0

私は自分の答えを更新しましたが、どこまでそれが見つかったのかわかりません。それは私がスクリーンショットで与えた方法を使用していない、それは選択されたものだけです、私はあなたを保証します。 – Nock

関連する問題