2

有没有办法在 TFS 中获取所有已签入/更新 X 次的文件?我目前有一个 ASP.NET MVC 项目,并且正在使用 VS 2012 的 TFS 预览。

4

1 回答 1

1

虽然速度很慢,但最好的方法是在您已签入版本控制的每个文件上运行 QueryHistory。如果您计算返回的变更集的数量,这将告诉您该文件已更新的次数。

基本上你想做这样的事情:

TfsTeamProjectCollection tpc = new TfsTeamProjectCollection("http://server:8080/tfs/collection";
VersionControlServer vcs = tpc.GetService<VersionControlServer>();

foreach (string filePath in filePaths)
{
     var changesets = vcs.QueryHistory(filePath, ...);

     // Do your counting logic here
}

同样,这不会运行得非常快,但它是回答您试图回答的问题的最佳方式。如果 X 大于 1 或 2,那么我们可以提出一个更好的算法,在根上调用 QueryHistory 并在深度上向下工作,以希望修剪掉树的某些部分。

于 2012-10-09T02:20:00.413 回答