这是使用 TFS2010 API。
给定文件名,我需要获取文件的文件夹路径等详细信息,最后签入的人,最后签入的日期时间。
有没有 API/WIQL 可以帮助解决这个问题?
对于第一部分,从文件名中检索该文件的 SourceControl 路径,除此之外我找不到任何其他内容:
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;