TFS:按旧名称查找移动的文件

如果您只知道文件的旧名称,有没有办法获取文件的版本历史记录?

我目前正在查看我们的存储库的旧副本(我不知道确切的日期,副本已被拍摄)。 当我将它与当前存储库进行比较时,有一个文件只存在于副本中,但不存在于当前存储库中。 它尚未在存储库中删除。 我猜,它已被移动或重命名。 在TFS中是否有任何方法可以使用旧路径和名称查找版本历史记录?

我知道我可以使用名称或一些代码片段来挖掘。 但IMO在使用存储库时这不是一个可接受的解决方案:)

非常感谢你

安德烈亚斯

在Team Explorer 2010中,您只需打开“显示已删除的文件”选项并导航到原始文件夹,您就可以看到已移动或删除的文件。 您可以查看该项目的历史记录以查看其最后一个变更集 – 这将显示它是否被彻底删除,或者它是否刚刚重命名,因此该项目不再存在于当前路径名称(也称为“插槽”)中并被删除那样。 您可以进一步深入查看该变更集的变更集详细信息,以查看该项占用的新路径名(插槽)。

正如您所提到的,您当然可以使用GetItems方法对TFS API进行一些小抨击。 虽然我知道这不是你想要做的,但我认为值得一提,因为TFS API非常容易使用。

一些简单的方法(其他答案中尚未提出)可能会有所帮助:

新的存储库中,转到用于包含文件的文件夹,右键单击并显示历史记录。 这将显示该文件夹中文件的所有版本化更改。 现在查看文件夹中不再存在的文件的更改列表,然后双击它们以查看它们并确定该文件是否类似于新文件的祖先。

或者采用暴力方法:将所有源代码放到磁盘上,然后搜索相同名称的文件或其中包含相同文本的文件,作为您要查找的文件(我要查找)这些评论看起来似乎很旧,并且使用了不太可能出现在许多地方的独特措辞。评论不太可能发生变化,而不是在重命名文件时可能已经重构的类/方法名称

Grep可能是解决问题的一种丑陋,蛮力的方式,但有时它是最快和最容易的。 TFS CLI工具function强大,但无用,复杂且文档记录不佳,因此除非您已经是专家,否则他们可能需要进行大量的反复试验才能让他们按照您的意愿行事。