tfs - 在 TFS 2008 中找出一个工作项或一组变更集的所有受影响文件的方法?

标签 tfs workitem changeset

我试图找出一种方法来找出哪些文件受 TFS 2008 中的工作项影响。

我意识到这是这里其他人已经提出的问题的重复 - View a list of all files changed as part of a Workitem in TFS但它没有得到答复,我一直在,断断续续地寻找这个。

我知道可以查看工作项的链接选项卡,然后查看每个变更集以查看已更改的文件。但是,工作项很可能最终会链接到许多变更集,我想查看作为工作项一部分修改的文件,但我觉得如果我丢失一两个文件的可能性非常高必须依赖于单独查看 100 多个变更集中的每一个。

有谁知道实现这一目标的方法?在此先感谢您的任何帮助或指导。

最佳答案

听起来像是 Powershell 的工作...

function Get-TfsItem([int] $workItemNumber)
{
    Get-TfsServer njtfs -all |
        foreach { $_.wit.GetWorkItem($workItemNumber) } |
        foreach { $_.Links } |
        foreach { ([regex]'vstfs:///VersionControl/Changeset/(\d+)').matches($_.LinkedArtifactUri) } |
        foreach { $_.groups[1].value } |
        Get-TfsChangeset | 
        Select-TfsItem |
        Sort Path -Unique 
}

前几行有点难看。我们必须直接访问 webservice API,因为 TFS cmdlet 不包括错误跟踪系统。我们返回的对象在执行我们需要的操作之前需要一些正则表达式。反复管道到“foreach”是一个不幸的 Powershell 习惯用法,当您将不友好的 API 与蹩脚的投影运算符配对时会出现这种情况。 (我个人使用 my own replacement ,但你不能依赖它。)

如果我的 TFS Power Cmdlets,最后 3 行应该是不言自明的安装并完成他们的工作。

关于tfs - 在 TFS 2008 中找出一个工作项或一组变更集的所有受影响文件的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2343757/

相关文章:

Mercurial Subrepos,如何控制我想将哪个变更集用于子仓库?

workitem - 我可以修改 TFS 2010 中的默认 checkin 操作吗?

rest - 使用 REST API 获取 TFS 工作项及其链接

sql - 如何修复 TF246017 Team Foundation 服务器无法连接到数据库

visual-studio - 如何使用 TFS 检测文件修改?

tfs - 如何查询具有太多变更集的工作项

TFS 2010 清除 SystemAssignedTo 过渡中

maven - Liquibase 校验和验证错误,无需任何更改

tfs - 如何在 c# 项目的 TFS 上获取旧版本并对其进行编辑并检查旧版本中的编辑?

git - 在 libgit2sharp 中使用 TFS PAT 授权