我试图找出一种方法来找出哪些文件受 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/