【问题标题】:How does VS 2005 provide history across all TFS Team Projects when tf.exe cannot?当 tf.exe 不能时,VS 2005 如何提供所有 TFS 团队项目的历史记录?
【发布时间】:2011-03-03 22:53:52
【问题描述】:

在 Visual Studio 2005 中,在 TFS 源代码管理资源管理器中,这些是 TFS 服务器本身的顶级节点,每个团队项目都有一个子节点。右键单击服务器节点或团队项目的节点会给出一个上下文菜单,其中有一个View History 项。选择此选项会为您提供一个历史窗口,其中显示最近 200 个左右的变更集,无论是针对所选的特定团队项目,还是跨所有团队项目。

我想知道的是所有团队项目的这段历史。命令行tf.exe history 命令提供(据我了解)与VS TFS 源代码控制插件提供的基本相同的功能。但我不知道如何让tf.exe history 提供此跨所有团队项目历史记录。

在命令行中,假设我将 C:\ 映射为工作区的根,并将 FooBarBaz 作为团队项目,我可以这样做

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

获取影响团队项目Foo的最后 200 个变更集;或从团队项目文件夹中

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 在做什么呢?是否在内部依次对每个团队项目做历史记录,然后将结果粘在一起??

还请注意,我已尝试使用 Power Tools;来自命令行的tfpt history 给出了与此处看到的完全相同的错误消息

【问题讨论】:

    标签: visual-studio-2005 tfs tfs-2005


    【解决方案1】:

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

    【讨论】:

    • 啊哈!这让我找到了答案。与问题中所说的相反,我 没有C: 映射到 $/ - 实际上 nothing 已映射到 $/ 和所有团队项目将显式映射设置为C:\Foo 等。为$/ 设置映射意味着tf history *.* 现在可以在根级别工作!我仍然想知道 VS 在做什么......
    • 这就是 tf 历史的工作方式。如果您指定 . 的项目规格,它会查看您当前的磁盘文件夹是什么,并检查到源文件夹的映射并从那里开始搜索。
    猜你喜欢
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    • 2014-08-20
    • 1970-01-01
    • 1970-01-01
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多