Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 如何在TFS中获取经过一定次数检查的文件_Visual Studio_Tfs - Fatal编程技术网

Visual studio 如何在TFS中获取经过一定次数检查的文件

Visual studio 如何在TFS中获取经过一定次数检查的文件,visual-studio,tfs,Visual Studio,Tfs,是否有办法在TFS中获取已签入/更新X次的所有文件?我目前有一个ASP.NET MVC项目,正在使用VS2012的TFS预览版 虽然速度较慢,但最好的方法是对签入版本控制的每个文件运行QueryHistory。如果您计算返回的变更集的数量,这将告诉您该文件已更新的次数 基本上你想做这样的事情: TfsTeamProjectCollection tpc = new TfsTeamProjectCollection("http://server:8080/tfs/collection"; Versi

是否有办法在TFS中获取已签入/更新X次的所有文件?我目前有一个ASP.NET MVC项目,正在使用VS2012的TFS预览版

虽然速度较慢,但最好的方法是对签入版本控制的每个文件运行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
}
tfstreamprojectcollection tpc=新的tfstreamprojectcollection(“http://server:8080/tfs/collection";
VersionControlServer vcs=tpc.GetService();
foreach(文件路径中的字符串文件路径)
{
var changesets=vcs.QueryHistory(文件路径,…);
//你的计算逻辑在这里吗
}

同样,这不会运行得太快,但这是回答您试图回答的问题的最佳方式。如果X大于1或2,那么我们可以提出一个更好的算法,称为根上的查询历史,并在深度方面进行深入研究,希望能够修剪掉树的某些部分。

我有一些想法t解决方案的效率取决于项目和历史的大小。TFS中大约有多少文件?有多少更改集?在上面的示例中,X大致是什么?我有大约50个文件,400个更改集,X将是1或2。获取父文件夹的查询历史并在更改集计算文件数?这同样有效,但需要意味着您希望在放下每个更改集时包含更改,并且需要跟踪在处理每个更改集时看到的内容。这还意味着您必须检查项目中的每个更改集(如果他们只想检查某些文件,上述解决方案可以避免这种情况)。不过,提出这种方法很好。在某些情况下,这种方法会更有效。