创建应用程序以下载TFS中的变更集

时间:2016-04-19 22:54:59

标签: c# .net tfs

我不确定这是否可能,但我希望能够创建一个应用程序(VB或C#),它将基本上复制“查看历史记录”的行为。选定的TFS项目。我希望能够浏览Changeset,选择一个并将解决方案下载到指定位置。

我还没有机会看一看,但我认为从SQL数据库中获取ChangeSet历史记录很简单,但我不知道下一步该能够下载相关解决方案/项目。它与Filestream类似吗?

如果有人在过去对此进行了介绍,我很想知道你是如何获得项目文件的。

2 个答案:

答案 0 :(得分:1)

尝试使用以下代码(我假设您使用的是TFVC版本控制):

using System; 
using Microsoft.TeamFoundation.Client; 
using Microsoft.TeamFoundation.VersionControl.Client;

namespace API {
    class Program
    {
        static void Main(string[] args)
        {
            string vsuri = "http://xxx.xxx.xxx.xxx";
            TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri(vsuri));
            tpc.EnsureAuthenticated();
            VersionControlServer vcs = tpc.GetService<VersionControlServer>();
            Workspace ws = vcs.CreateWorkspace("NewWorkSpace");
            ws.Map("$/ProjectName","C:\\LocationPath");
            int changesetversiontoget = 111;
            ChangesetVersionSpec cvs = new ChangesetVersionSpec(changesetversiontoget);
            ws.Get(cvs,GetOptions.GetAll);
        }
    } }

代码将创建一个工作空间,然后获取具有指定版本的所有文件,就像从团队资源管理器\源代码控制中获取一个版本一样。

答案 1 :(得分:0)

正如Daniel所说,实现所需目标的最佳方式是通过TFS API。

您可以点击以下链接:

Using TFS API - how to get previous version of a file given a Changeset

Get Changeset and all it's changes on TFS using c#

如果您想下载给定变更集的解决方案文件,可以通过门户网站实现,详细步骤请查看以下链接: Download code of a specific changeset in TFVC