【问题标题】:How to Find TFS Changesets Not Linked to Work Items如何查找未链接到工作项的 TFS 变更集
【发布时间】:2011-10-07 17:52:30
【问题描述】:

有没有办法通过查询或以编程方式识别所有未链接到工作项的 TFS 变更集?

【问题讨论】:

    标签: tfs tfs-sdk


    【解决方案1】:

    使用 TFS PowerToy 的 PowerShell 模块:

    从您感兴趣的工作区中的任何文件夹:

    Get-TfsItemHistory . -Recurse | Where-Object { $_.WorkItems.Length -eq 0 }
    

    这将获取当前文件夹和所有子文件夹的历史记录,然后过滤空工作项列表。

    【讨论】:

    • 如果(像我一样)您不知道如何让 powershell 插件正常工作,请查看答案 here
    【解决方案2】:

    当然,您可以使用 TFS API 轻松完成此操作。

    public static void GetAllChangesetsWithNoWorkItems()
    {
        var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://tfs2010/tfs/default"));
        var service = tfs.GetService<VersionControlServer>();
    
        var histories = service.GetBranchHistory(new ItemSpec[] { new ItemSpec(@"$/ProjectName/MAIN/BUILD", RecursionType.OneLevel) }, VersionSpec.Latest);
    
        foreach (BranchHistoryTreeItem history in histories[0])
        {
            var change = service.GetChangeset(history.Relative.BranchToItem.ChangesetId, true, true);
    
            if(change.WorkItems.ToList().Count == 0)
            {
                Debug.Write(String.Format("Work Item Missing for Changeset {0}", change.ChangesetId));
            }
        }
    }
    

    您可以阅读这篇博文,了解如何以编程方式连接到 TFS API http://geekswithblogs.net/TarunArora/archive/2011/06/18/tfs-2010-sdk-connecting-to-tfs-2010-programmaticallyndashpart-1.aspx

    【讨论】:

      【解决方案3】:

      我不知道Richard's Answer,但接受的答案从我的团队项目集合的根目录运行了将近 2 分钟。如果您正在寻找特定用户,这将在 10 秒内运行,如果您不是,则在 47 秒内运行。

      service.QueryHistory("$/TeamProject/", VersionSpec.Latest,0, RecursionType.Full,userName,null,null, Int32.MaxValue,true,false)
          .Cast<Changeset>()
          .Where(cs=>cs.AssociatedWorkItems.Length==0)
      

      如果您不是在寻找特定用户,只需将 userName 设置为 null

      http://share.linqpad.net/6sumno.linq

      【讨论】:

        猜你喜欢
        • 2013-01-01
        • 1970-01-01
        • 2011-08-22
        • 2015-05-21
        • 1970-01-01
        • 2021-09-18
        • 1970-01-01
        • 2012-07-07
        • 2019-05-24
        相关资源
        最近更新 更多