我如何在TFS中查询文件夹以显示每个对象的最新ChangeSet



目前,dba需要为需要部署的任何脚本/存储过程/函数提供TFS更改集编号。我在TFS项目中有一个文件夹,其中包含所有存储过程,我想运行一个查询,列出该文件夹中的每个对象和最新的更改集。我正在使用VS2010团队资源管理器与TFS Server 2008(我相信),并且很乐意在PowerShell或其他工具中编写脚本,但不知道从哪里开始。有人能给我指点一下吗?

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)

最新更新