2011-09-14 29 views
8

如果您只知道文件的旧名称,是否有办法获取文件的版本历史记录?TFS:按旧名称查找移动的文件

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

我知道我可以使用名称或代码片段进行挖掘。但IMO这是不使用仓库:)

非常感谢您

安德烈亚斯

+1

你想从命令行或以编程方式在C#代码中执行此操作吗? (我看到了C#标签) – bryanmac

回答

2

在2010团队资源管理器,你可以简单地打开“显示删除的文件”选项,导航时,可接受的解决方案到原始文件夹,您将能够看到移动或删除的文件。您可以在项目上查看历史记录以查看其最后一个变更集 - 它会告诉您它是否被彻底删除,或者它是否只是重命名,因此该项目不再存在于当前路径名称(又称“槽”)中并被删除那样。您可以进一步钻取该更改集的更改详细信息以查看该项目占用的新路径名称(插槽)。

正如你所提到的,你可以使用GetItems方法对TFS API做一点小小的反击。虽然我明白这不是你想要做的,但我认为值得一提的是,因为TFS API非常容易使用。

+0

我安装了Visual Studio 2010 Premium,包括TeamExplorer,并看到删除的文件 - 但没有移动。是否有不同版本的TeamExplorer我不知道?顺便说一句:是的,TFS-API非常好,易于使用 - 一旦你安装了,这对我来说有点麻烦:) – Andreas

+0

你的服务器是TFS 2010吗?重命名行为(在服务器上)在2008年到2010年间发生了变化。 –

+0

不,我们没有时间升级。现在我们还有一个理由。非常感谢你。 – Andreas

0

一些简单的方法(在其他的答案不是已经建议)可能会有帮助:

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

或者采用暴力破解的方法:将所有源代码放到磁盘上,搜索同名文件或其中包含相同文本的文件作为您要查找的文件(I寻找那些看起来像他们可能很老的评论,这些评论使用了不可能在许多地方出现过的独特措辞。评论比类别/方法名称改变的可能性更小,如果该文件是可重构的改名)

grep可能是一种丑陋的,蛮力的方式来解决问题,但有时它是最快和最容易的。 TFS CLI工具功能强大,但无用,复杂且记录不完整,因此除非您已经是专家,否则他们可能需要大量试验和错误才能让他们按照自己的意愿进行操作。