【发布时间】:2015-02-18 15:37:20
【问题描述】:
我正在尝试以编程方式获取 Visual Studio 2013 的 TFS 中所有分支的列表。在做了一些研究后,我发现这个博客详细介绍了如何获取分支:
Displaying all branch hierarchies in TFS 2010
我修改了代码,改为将所有内容存储在一个列表中。
private void Setup()
{
string serverName = "serverName"; //in the code this is set to the actual server name
TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri(serverName));
VersionControlServer vcs = tfs.GetService<VersionControlServer>();
var bos = vcs.QueryRootBranchObjects(RecursionType.OneLevel);
Array.ForEach(bos, (bo) => DisplayAllBranches(bo, vcs));
}
private void DisplayAllBranches(BranchObject bo, VersionControlServer vcs)
{
_listOfBranches.Add(bo.Properties.RootItem.Item);
var childBos = vcs.QueryBranchObjects(bo.Properties.RootItem, RecursionType.OneLevel);
foreach (var child in childBos)
{
if (child.Properties.RootItem.Item == bo.Properties.RootItem.Item)
continue;
DisplayAllBranches(child, vcs);
}
}
我遇到的问题是 BranchObjects[] bos 始终为空。有什么我遗漏的,还是有更好的方法来获取所有分支的列表?
【问题讨论】: