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

本文关键字:查找 移动 文件 TFS | 更新日期: 2023-09-27 18:08:30

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

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

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

Thank you very much

Andreas

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

在Team Explorer 2010中,您可以简单地打开"显示已删除文件"选项并导航到原始文件夹,然后您将能够看到被移动或删除的文件。您可以查看该项的历史记录,以查看它的最后一个更改集——这将显示它是否被直接删除,或者它是否只是被重命名,因此该项不再存在于当前路径名(又名"slot")中,并以这种方式被删除。您可以进一步深入到该更改集的更改集详细信息,以查看该项占用的新路径名称(槽位)。

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

几个简单的方法(在其他答案中没有提到)可能会有所帮助:

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

或者采用蛮力方法:将所有源代码放到磁盘上,然后搜索与您正在查找的文件相同名称的文件,或者其中包含一些相同文本的文件(我会查找看起来可能非常旧的注释,并且使用不太可能出现在许多地方的独特措辞)。注释比类/方法名更不可能被更改(如果文件被重命名,类/方法名可能已经被重构)

Grep可能是一种丑陋的、粗暴的解决问题的方法,但有时它是最快、最简单的方法。TFS CLI工具功能强大,但没有帮助,复杂且缺乏文档,因此,除非您已经是专家,否则可能需要大量的试验和错误才能让它们完成您想要的操作。