首页 > 解决方案 > 从特定团队项目中获取代码分支

问题描述

我正在尝试通过代码获取 TFS 中的代码分支列表,但仅限于特定团队项目下的代码分支。我当前使用的代码让我返回所有团队项目中的所有分支,无论它们是活动的还是已删除的。

如何过滤结果以仅从我特别关注的团队项目中带回结果?

        List<string> listOfBranches = new List<string>();
        TfsTeamProjectCollection tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(@"MyTFSCollection"));
        VersionControlServer vcs = (VersionControlServer)tpc.GetService(typeof(VersionControlServer));

        var allProjects = tpc.GetService(typeof(TeamProject));

        var branchObjects = vcs.QueryRootBranchObjects(RecursionType.Full);

        foreach (var branch in branchObjects)
        {
            var branchName = branch.Properties.RootItem.Item;
            var parentFolder = branchName.Substring(0, branchName.LastIndexOf('/'));

            listOfBranches.Add(branchName);
        }
        listOfBranches.Sort();

标签: visual-studio-2015tfs-2015

解决方案


它无法使用 SOAP api 在特定团队项目下分支。您必须使用带有参数的REST APIscopePath

Get http://TFS2015:8080/tfs/DefaultCollection/teamproject/_apis/tfvc/branches?scopePath=&/teamproject&api-version=2.2

推荐阅读