如何获得分支历史变化的项目?

时间:2015-09-03 16:36:36

标签: visual-studio visual-studio-2012 version-control tfs tfs2012

当我为旧版本的产品创建补丁时,我使用Source Control Explorer查看分支的历史记录。然后,我检查该历史记录中的每个变更集,并记下每个单独的项目。然后,我访问每个项目并获取其主要输出程序集,我将其复制到bin文件夹以准备分支。 VS 2012或TFS是否有我可以用来执行此操作的API,或者是否有一组CLI命令至少可以为我提供程序集列表,然后我可以使用for命令进行复制?

1 个答案:

答案 0 :(得分:0)

您可以通过TFS API获取分支的变更集中的变更集和文件,但是,这似乎不是获取项目的输出程序集的方法。检查以下代码以获取有关如何获取变更集信息的详细信息:

TfsTeamProjectCollection tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://tfsservername:8080/tfs/DefaultCollection"));
        VersionControlServer vcs = (VersionControlServer)tpc.GetService(typeof(VersionControlServer));

        var changesetlist = vcs.QueryHistory(
                                            "$/BranchServerPath",
                                            VersionSpec.Latest,
                                            0,
                                            RecursionType.Full,
                                            null,
                                            new ChangesetVersionSpec(1),
                                            VersionSpec.Latest,
                                            int.MaxValue,
                                            true,
                                            false);

        foreach (Changeset changeset in changesetlist)
        {
            Console.WriteLine(changeset.ChangesetId + ": ");
            Console.WriteLine("*****************");
            var changes = changeset.Changes;
            foreach (var change in changes)
            {
               var filename= change.Item.ServerItem;
            }
        }