以下是我们的情况: 在TFS 2010中,我们有主开发分支和发布分支。 在某些时候,确定某些代码位于命名不佳的目录中,因此它在TFS中重命名(仅在主分支上,因为它不是错误信息)。 我现在已经在dev分支上修改了这个移动代码中的一个错误,并希望将修复程序合并到发布分支中。
但是,当我这样做时,不是在文件上执行合并,而是在新位置创建文件的副本,并将更改标记为“merge,branch”。
我做错了什么或者这是TFS的'特色'吗?
更新:我刚刚重新访问此帖并重试。重现错误的步骤是:
答案 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文件的历史记录以确认吗?
只需添加测试中的一些屏幕截图: