2010-06-15 27 views
0

在Visual Studio 2005中,在TFS源代码管理资源管理器中,这些是TFS服务器本身的顶级节点,每个团队项目都有一个子节点。右键单击服务器节点或Team Project的节点会出现一个上下文菜单,其中有一个View History项目。选择此项可为您提供一个“历史记录”窗口,显示最后200个左右的变更集,无论是针对所选的特定团队项目,还是跨所有团队项目。当tf.exe不能时,VS 2005如何在所有TFS团队项目中提供历史记录?

在我想知道的所有团队项目中,这是历史。命令行tf.exe history命令提供(据我所知)基本上与VS TFS源代码管理插件提供的功能相同。但我无法弄清楚如何让tf.exe history提供这个跨所有团队项目的历史。

在命令行,假如我有C:\映射为我的工作区的根,和FooBar,并且Baz作为团队项目,我可以做

C:\> tf history Foo /recursive /stopafter:200 

得到最后200名的变更那受影响的团队项目Foo;或者从一个团队项目文件夹

C:\Bar> tf history *.* /recursive /stopafter:200 

它做同样的事,团队项目Bar内 - 注意通配符*.*这里允许的。

然而,这些工作的(每个给出所示的错误消息):

C:\> tf history /recursive /stopafter:200 

历史命令采用恰好一个项目

C:\> tf history *.* /recursive /stopafter:200 

无法确定源代码管理服务器

C:\> tf history *.* /server:servername /recursive /stopafter:200 

无法确定工作区

我没有看到在这个文档中的一个选项用于tf用于指定的工作区;它似乎只想从当前文件夹中确定它。

那么什么是VS 2005在做什么?它是否在内部对每个团队项目轮流进行历史记录,然后将结果粘贴在一起?

请注意,我已经尝试过电动工具; tfpt history从命令行给出完全相同的错误消息在这里看到

回答

1

你需要在一个映射的目录中工作。例如,如果您将“$ /”映射到“C:\ TFSSOURCE”,将目录更改为C:\ TFSSOOURCE,然后再次尝试该命令。

+0

啊哈!这让我想到了答案。与它在问题中所说的相反,* *没有将'C:'映射到'$ /' - 实际上*没有任何*映射到'$ /',并且所有Team Projects都将显式映射设置为' C:\ Foo'等。为'$ /'设置映射表示'tf history *。*'现在可以在根目录下工作!我仍然想知道VS在做什么...... – AakashM 2010-06-16 07:29:17

+0

这就是历史的工作方式。如果您指定*。*的项目规格,它会查看您当前的磁盘文件夹是什么,并检查映射到源文件夹并从那里开始搜索。 – Robaticus 2010-06-16 13:15:39

相关问题