「メイン」というブランチがあります。2012 年 7 月に、プロジェクトの次のバージョン用に「フェーズ 3」と呼ばれる新しいブランチを作成しました。それ以来、私たちはこれに取り組んできましたが、他の変更がメインに適用されることがあります。
今年の 5 月に、メインからフェーズ 3 へのマージを実行し、これらの変更のいくつかを行いましたが、それはすべて問題ありませんでした。
それから現在までの間に、TFS サーバーを 2008 年から 2012 アップデート 3 にアップグレードしました。 ) これには他にも問題がありました。
先週、メインからフェーズ 3 への別のマージを実行しようとしました。「選択した変更セット」を選択しました。これは、フェーズ 3 ブランチで大量の再作業を行ったため、変更をマージするのが非常に困難であるためです。少し。
しかし、Visual Studio が 2011 年 7 月以降の変更をマージしようとしていたのを見て驚きました。これは、ブランチが作成されるかなり前の年です (実際、プロジェクトのこの部分に最初に変更が加えられました)。
奇妙なことに、フェーズ 3 ソリューションの履歴を表示すると、それを展開してこれらすべての変更を確認できます。したがって、TFS は、既に適用されていることを認識しているようです。
何が起こるかを見るために、以前の変更のいくつかをマージしようとしました。含まれていた唯一の変更は、名前が変更されたか削除されたアイテムに関するものでした。たとえば、ソリューションの名前を変更したため、TFS は古い名前の SLN のコピーを分岐およびマージする必要がありました。または、その後両方のブランチで削除されたが、この新しいマージの時点では削除されていない画像がいくつかありました.
だから私はこれを撤回し、今年の 5 月からすべてをマージしようとしました。つまり、最後のマージの直前です。これは恐ろしい数の変更をもたらしました - 通常のマージ/編集タイプの変更を含むあらゆる種類のもの。だから私もそれを支持しました!
フェーズ 3 から別のブランチを作成しました。2 つのブランチ間でマージできました。TFS アップグレードの約 1 週間前に作成されたと思います。しかし、問題は発生していません。
メインから取られた他のブランチがあります。これらは、TFS が既に行った変更を適用しようとしているという問題が発生しています。
VS2012 update 3 を使用してマージを行っています。念のためVS2010も試してみましたが、同じです。また、同僚が試してみて、同じ症状を確認しました。
フェーズ 3 が main と大きく異なるため、何かをマージするのが非常に難しいことは、役に立たないと思います。
これを解決する最善の方法を誰かが知っていますか? 後で後悔するようなことをするのは少し心配です!