我想使用Teamfoundation.SourceControl.WebApi
根据我们的TFS源代码管理检查更新或本地更改。
我可以从已提交TFS的项目中收集有关变更集的信息,但是我无法基于映射的工作空间内的本地文件路径来收集此信息。
不使用ExtendedClient
是否有可能?
我想要这样的东西:
TfvcChangesetSearchCriteria tcsc = new TfvcChangesetSearchCriteria();
tcsc.ItemPath = @"c:\source\mappedtfs\MYPROJECT\src\MainWindow.cs";/*<--- localPath would be nice here*/
List<TfvcChangesetRef> changerefs = tfvcHttpClient.GetChangesetsAsync("MYPROJECT", null, null, null, null, tcsc).Result;
答案 0 :(得分:1)
Microsoft.Teamfoundation.SourceControl.WebApi
是不与本地工作空间和文件交互的webapi。如果要获取具有本地项目路径的变更集,请在客户端库中使用Microsoft.TeamFoundation.VersionControl.Client
。
using Microsoft.TeamFoundation.Client;
using System;
using Microsoft.TeamFoundation.SourceControl.WebApi;
using Microsoft.TeamFoundation.VersionControl.Client;
using System.Collections.Generic;
namespace ConsoleX
{
class Program
{
static void Main(string[] args)
{
Uri url = new Uri("https://tfsuri");
TfsTeamProjectCollection ttpc = new TfsTeamProjectCollection(url);
VersionControlServer vcs = ttpc.GetService<VersionControlServer>();
IEnumerable<Changeset> cses = vcs.QueryHistory("Path here could be local path or server path", RecursionType.Full);
foreach (Changeset cs in cses)
{
Console.WriteLine(cs.ChangesetId);
Console.WriteLine(cs.Comment);
}
Console.ReadLine();
}
}
}