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