我不确定这是否可能,但我希望能够创建一个应用程序(VB或C#),它将基本上复制“查看历史记录”的行为。选定的TFS项目。我希望能够浏览Changeset,选择一个并将解决方案下载到指定位置。
我还没有机会看一看,但我认为从SQL数据库中获取ChangeSet历史记录很简单,但我不知道下一步该能够下载相关解决方案/项目。它与Filestream类似吗?
如果有人在过去对此进行了介绍,我很想知道你是如何获得项目文件的。
答案 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