1

状況は次のとおりです。TFS 2010 には、メインの開発ブランチとリリース ブランチがあります。ある時点で、一部のコードが不適切な名前のディレクトリにあると判断されたため、TFS で名前が変更されました (バグではなかったので、メイン ブランチでのみ)。この移動されたコードのバグを dev ブランチに修正したので、修正をリリース ブランチにマージしたいと考えています。

ただし、これを行うと、ファイルに対してマージを実行するのではなく、新しい場所にファイルのコピーが作成され、変更に「マージ、ブランチ」というラベルが付けられます。

私は何か間違ったことをしていますか、それともこれは TFS の「機能」ですか?

更新: この投稿を再確認して再試行しました。エラーを再現する手順は次のとおりです。

  1. Main/Desktop/UserControls と Releases/V5/Desktop/UserControls にファイル (control.cs) があります。
  2. ソース管理エクスプローラーを使用して、UserControlsをUserControls2に「移動」してチェックインします(同じ結果で「名前の変更」も試しました)
  3. Main で control.cs を編集し、チェックインします。
  4. Main を Releases/V5 にマージします (UserControls だけでなく、ブランチ全体をマージしていることに注意してください)
  5. Releases/V5/Desktop/UserControls2 に変更された control.cs が表示され、Releases/V5/Desktop/UserControls に古いものが表示されます。
4

1 に答える 1

0

DEVブランチがあり、上記で説明したことを使用してTFSでさらに調査を行った後、より多くの入力があると仮定して、以前に回答しました。

これが私がしたことです。私はそれを Main と呼ぶ Source ブランチを持っており、Release と呼ばれる Main からブランチしました。Main には 2 つのフォルダー (f1 と F2) があり、フォルダー F2 を F3 に名前変更し、変更をチェックインしました。次に、ファイル File1 を F2 (現在は F3) 内で編集し、コンテンツにいくつかの変更を加え、変更をチェックインしました。

メインをリリースにマージすると、すべての変更が適切にマージされました。リリースでは、フォルダー F2 は F3 に名前が変更され、file1 も適切なフォルダーにマージされました。

変更は、マージ、フォルダーの名前変更、ファイルの編集として表示されます。

すべてが魅力のように機能しました。TFS2010も使用しています。上記で説明したこととは異なることをした場合は、お知らせください。何か不足していますか?

アップデート:

上記の正確なシナリオをテストしたところ、ソース ブランチで移動/名前変更した後でも、control.cs ファイルが適切にマージされます。あなたの場合、リリースブランチで誰かが Usercontrols フォルダーおよび/または Usercontrol.cs ファイルを再作成 (削除して再度追加) したため、TFS はソースブランチからの同じファイル/フォルダーであることを認識せず、したがってそうではないと思います適切にマージされます。

それを確認するために、リリース ブランチの Usercontrol ファイルの履歴を確認できますか?

私のテストからいくつかのスクリーンショットを追加するだけです:

FolderRename 保留中の変更

このファイルは BugTest2/BugTest3 フォルダ内にあります

于 2013-08-01T13:55:39.167 に答える