3

目前,我们的 DBA 需要任何需要部署的脚本/存储过程/函数的 TFS 变更集编号。我的 TFS 项目中有一个文件夹,其中包含我的所有存储过程,我想运行一个查询,该查询将列出该文件夹中的每个对象和最新的变更集。我正在使用 VS2010 Team Explorer 和 TFS Server 2008(我相信),并且很乐意在 PowerShell 或其他工具中编写脚本,但不知道从哪里开始。有人可以给我一些方向吗?

4

1 回答 1

4

TFS 有很多可扩展点,使运行这样的查询成为可能。如果是我,我会简单地使用tf.exe命令行客户端。例如:

tf properties $/Path/To/Folder -recursive

这将向您显示给定文件夹下每个文件的最新变更集(以及其他信息。)

虽然命令行客户端的输出格式正确且易于解析,但您可能仍然更喜欢更编程的方式来执行此操作。您可以使用非常强大的 .NET API 来从服务器查询。您将要调用该VersionControlServer.GetItems方法。例如:

ItemSet items = vcs.GetItems(@"$/Path/To/Folder", RecursionType.Full);

如果您还没有,您应该看看TFS 2008 Power Tools,其中包括 TFS Power Shell Extensions。我的 powershell-fu 很弱,但我认为 Power Shell 中的上述内容类似于:

$tfs = get-tfs http://yourserver:8080/tfs/YourCollection
$tfs.VCS.GetItems('$/Path/To/Folder', $tfs.RecursionType::Full)
于 2011-07-15T13:45:23.033 回答