如何查找未链接到工作项的TFS更改集

Ed *_*rro 10 tfs tfs-sdk

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

Ric*_*ard 7

使用TFS PowerToy的PowerShell模块:

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

Get-TfsItemHistory . -Recurse | Where-Object { $_.WorkItems.Length -eq 0 }
Run Code Online (Sandbox Code Playgroud)

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


Tar*_*ora 1

当然,您可以使用 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));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以阅读这篇关于如何以编程方式连接到 TFS API 的博客文章http://geekswithblogs.net/TarunArora/archive/2011/06/18/tfs-2010-sdk-connecting-to-tfs-2010-programmaticallyndashpart-1。 ASPX