这是使用TFS2010 API。
鉴于文件名,我需要获取文件的文件夹路径等详细信息,该文件是最后一次检查的最后一个日期时间。
是否有API / WIQL可以帮助解决这个问题?
答案 0 :(得分:2)
对于第一部分,从文件名中检索SourceControl路径到此文件,我找不到this以外的任何内容:
tf dir $/*file.cs /recursive /server:http://TFSServer:8080
获得文件的SourceControl路径后,您可以尝试:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
namespace ChangesetDetails
{
class Program
{
static void Main(string[] args)
{
TfsTeamProjectCollection tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://TFSServer:8080"));
VersionControlServer vcs = (VersionControlServer) tpc.GetService(typeof (VersionControlServer));
IEnumerable results = vcs.QueryHistory(@"$/../file.cs",
VersionSpec.Latest, 0, RecursionType.Full, null, null, null, int.MaxValue, true, true);
List<Changeset> changesets = results.Cast<Changeset>().ToList();
Changeset latestChangeset = changesets.ElementAt(0);
}
}
}
这将获得$/../file.cs
的最新变更集,然后可以显示您之后的属性:
string lastCommiter = latestChangeset.Owner;
DateTime dateCommited = latestChangeset.CreationDate;