如何在重命名后修复TFS历史记录?

时间:2014-12-15 19:25:44

标签: visual-studio tfs tfs2013

前段时间我们重命名了我们的项目源代码所在的主文件夹,由于某种原因,TFS将此表示为历史中的不连续性:

enter image description here

这有点烦人,因为每当我需要在重命名之前查看某些内容时,我必须继续扩展子节点,直到我可以继续搜索。我还发现,当使用API​​枚举历史记录(通过VersionControlServer.QueryHistory)时,它会在重命名时停止(变更集1172)。

这变得非常烦人。有没有办法解决历史上的这个突破?如果失败了,有没有办法让QueryHistory返回完整的历史记录,包括重命名之前?

2 个答案:

答案 0 :(得分:2)

对于api问题:

我依稀记得在Visual Studio 2010中如何重写历史。我也在ilspy的MS.TF.VC.Controls.dll达到顶峰,我希望Chad会原谅我;)什么对文件重命名有用(我希望对于父级重命名)是使用QueryMergesExtended并指定包含sourceRenames。 TFS 2010及更高版本中的重命名是分支和删除,因此您可以通过跟踪分支/合并的位置来查找每个重命名的来源。它肯定需要你编写一些代码。

对于UI问题(我知道我在这里倒退)你究竟在搜索什么?评论?文件名?具体内容有何变化?

答案 1 :(得分:1)

似乎没有办法让用户界面做我想做的事情。但是在API方面,我意识到历史上的突破实际上是由我搜索的方式引起的:

Dim changeSets = vcs.QueryHistory("$/ProjectWithCurrentName", RecursionType.Full)

在重命名之前,我没有找到更改集,因为我按名称搜索并且名称​​不同。所以现在我只运行两次,一次使用新名称,一次使用旧名称,然后合并结果。