如何在TFS中获取已在特定次数内检查过的文件

时间:2012-10-07 17:35:02

标签: visual-studio tfs

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

1 个答案:

答案 0 :(得分: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并在深度方向上向下工作,希望修剪掉树的某些部分。