当 tf.exe 无法提供所有 TFS 团队项目的历史记录时,VS 2005 如何提供?

发布于 2024-09-06 08:53:15 字数 1353 浏览 6 评论 0原文

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

我想知道的是所有团队项目的这段历史。命令行 tf.exe History 命令提供(据我所知)与 VS TFS 源代码管理插件提供的功能基本相同的功能。但我无法弄清楚如何获取 tf.exe 历史记录来提供跨所有团队项目的历史记录。

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

还请注意,我尝试过使用电动工具;来自命令行的 tfpt History 给出与此处看到的完全相同的错误消息

In Visual Studio 2005, in the TFS Source Control Explorer, these is a top-level node for the TFS Server itself, with a child node for each Team Project. Right-clicking either the server node or the node for a Team Project gives a context menu on which there is a View History item. Selecting this gives you a History window showing the last 200 or so changesets, either for the specific Team Project chosen, or across all Team Projects.

It is this history across all Team Projects that I am wondering about. The command-line tf.exe history command provides (as I understand it) basically the same functionality as is provided by the VS TFS Source Control plug-in. But I cannot work out how to get tf.exe history to provide this across-all-Team-Projects history.

At a command line, supposing I have C:\ mapped as the root of my workspace, and Foo, Bar, and Baz as Team Projects, I can do

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

to get the last 200 changesets that affected Team Project Foo; or from within a Team Project folder

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

which does the same thing for Team Project Bar - note that the wildcard *.* is allowed here.

However, none of these work (each gives the error message shown):

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

The history command takes exactly one item

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

Unable to determine the source control server

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

Unable to determine the workspace

I don't see an option in the docs for tf for specifying a workspace; it seems to only want to determine it from the current folder.

So what is VS 2005 doing? Is it internally doing a history on each Team Project in turn and then sticking the results together??

note also that I have tried with Power Tools; tfpt history from the command line gives exactly the same error messages seen here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅笑依然 2024-09-13 08:53:15

您需要位于映射目录中才能正常工作。例如,如果您将“$/”映射到“C:\TFSSOURCE”,请将目录更改为 C:\TFSSOOURCE 并重试该命令。

You need to be in a mapped directory for that to work. For example if you have "$/" mapped to "C:\TFSSOURCE", change directory to C:\TFSSOOURCE and try the command again.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文