Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在TFS中查询文件夹以显示每个对象的最新更改集?_Tfs_Changeset - Fatal编程技术网

如何在TFS中查询文件夹以显示每个对象的最新更改集?

如何在TFS中查询文件夹以显示每个对象的最新更改集?,tfs,changeset,Tfs,Changeset,目前,我们的DBA要求任何需要部署的脚本/存储过程/函数使用TFS变更集编号。我在TFS项目中有一个文件夹,其中包含我所有的存储过程,我想运行一个查询,列出该文件夹中的每个对象和最新的变更集。我将VS2010团队资源管理器与TFS Server 2008一起使用(我相信),我很乐意在PowerShell或其他工具中编写脚本,但不知道从何开始。有人能为我提供一些指导吗?TFS有很多扩展点,使运行这样的查询成为可能。如果是我,我只需要使用tf.exe命令行客户端。例如: tf properties

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

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

tf properties $/Path/To/Folder -recursive
ItemSet items = vcs.GetItems(@"$/Path/To/Folder", RecursionType.Full);
这将显示给定文件夹下每个文件的最新更改集(以及其他信息)

虽然命令行客户机的输出格式良好且易于解析,但您可能仍然更喜欢使用更具编程性的方式。您可以使用非常强大的.NETAPI从服务器进行查询。您需要调用该方法。例如:

tf properties $/Path/To/Folder -recursive
ItemSet items = vcs.GetItems(@"$/Path/To/Folder", RecursionType.Full);
如果您还没有,您应该看看,其中包括TFS Power Shell扩展。我的powershell fu很弱,但我认为Power Shell中的上述内容类似于:

$tfs = get-tfs http://yourserver:8080/tfs/YourCollection
$tfs.VCS.GetItems('$/Path/To/Folder', $tfs.RecursionType::Full)

太好了,谢谢!有没有办法将输出通过管道传输到文本文件?我只是在命令提示符窗口中增加了缓冲区,并使用了老式的“标记/复制/粘贴”