文件移动后如何在TFS中合并?

时间:2013-08-01 09:31:25

标签: tfs merge tfs2010

以下是我们的情况: 在TFS 2010中,我们有主开发分支和发布分支。 在某些时候,确定某些代码位于命名不佳的目录中,因此它在TFS中重命名(仅在主分支上,因为它不是错误信息)。 我现在已经在dev分支上修改了这个移动代码中的一个错误,并希望将修复程序合并到发布分支中。

但是,当我这样做时,不是在文件上执行合并,而是在新位置创建文件的副本,并将更改标记为“merge,branch”。

我做错了什么或者这是TFS的'特色'吗?

更新:我刚刚重新访问此帖并重试。重现错误的步骤是:

  1. 我在Main / Desktop / UserControls中有一个文件(control.cs) 发布/ V5 /桌面/用户控件。
  2. 使用源代码管理资源管理器我将'UserControls'移动到UserControls2并签入(我也试过'重命名'顺便说一下' 相同的结果)
  3. 我在Main上编辑control.cs并签入。
  4. 我将Main合并到Releases / V5(注意我在整个分支上合并,而不仅仅是UserControls)
  5. 我现在在Releases / V5 / Desktop / UserControls2中看到修改后的control.cs,在Releases / V5 / Desktop / UserControls中看到旧版本

1 个答案:

答案 0 :(得分:0)

我之前回答过这个问题,假设你有DEV分支,我在TFS中用你上面解释的内容做了更多的研究之后我有了更多的输入。

这就是我所做的,我有一个Source分支称为Main,我从Main分支称为Release。在Main中,我有两个文件夹(f1和F2),我将文件夹F2重命名为F3并检查了更改。然后在F2(现在是F3)中编辑文件File1并对内容进行了一些更改,并在更改中进行了检查。

现在我将Main合并到Release,并且每个更改都已正确合并。在Release中,文件夹F2重命名为F3,file1也合并到右侧文件夹。

更改应显示为合并,重命名文件夹并编辑文件。

一切都像魅力一样。我也在使用TFS2010。如果你做了与我刚才解释的不同的事情,你能告诉我吗?我错过了什么吗?

<强>更新

我测试了上面提到的确切场景,即使在源分支中移动/重命名后,它也会正确合并control.cs文件。我相信在你的情况下 - 在Release分支中有人重新创建(删除并再次添加)Usercontrols文件夹和/或Usercontrol.cs文件,因此TFS不会识别它与源分支中的相同文件/文件夹,因此它不是正确合并。

您可以检查发布分支中Usercontrol文件的历史记录以确认吗?

只需添加测试中的一些屏幕截图:

FolderRename Pending change

This file lives within the BugTest2/BugTest3 folder