前段时间我们重命名了我们的项目源代码所在的主文件夹,由于某种原因,TFS将此表示为历史中的不连续性:
这有点烦人,因为每当我需要在重命名之前查看某些内容时,我必须继续扩展子节点,直到我可以继续搜索。我还发现,当使用API枚举历史记录(通过VersionControlServer.QueryHistory
)时,它会在重命名时停止(变更集1172)。
这变得非常烦人。有没有办法解决历史上的这个突破?如果失败了,有没有办法让QueryHistory
返回完整的历史记录,包括重命名之前?
答案 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)
在重命名之前,我没有找到更改集,因为我按名称搜索并且名称不同。所以现在我只运行两次,一次使用新名称,一次使用旧名称,然后合并结果。