要按用户分组并计数获取某个文件夹的TFS变更集,你可以使用TFS客户端库来查询变更集,并使用字典来进行分组和计数。以下是一个示例代码:
using System;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
class Program
{
static void Main(string[] args)
{
// TFS服务器地址
string tfsUrl = "http://tfs-server-url";
// TFS项目路径
string projectPath = "$/ProjectName";
// 变更集查询路径
string folderPath = "$/ProjectName/FolderPath";
// 创建TFS服务实例
TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri(tfsUrl));
VersionControlServer versionControl = tfs.GetService();
// 查询变更集
var changesets = versionControl.QueryHistory(
folderPath,
RecursionType.Full,
0,
VersionSpec.Latest,
null,
null,
null,
int.MaxValue,
true,
false)
.OfType();
// 使用字典进行分组和计数
var userChangesetCount = new Dictionary();
foreach (var changeset in changesets)
{
string user = changeset.Owner;
if (userChangesetCount.ContainsKey(user))
{
userChangesetCount[user]++;
}
else
{
userChangesetCount[user] = 1;
}
}
// 输出结果
foreach (var kvp in userChangesetCount)
{
Console.WriteLine("User: " + kvp.Key + ", Changeset Count: " + kvp.Value);
}
}
}
你需要将示例代码中的tfsUrl
替换为你的TFS服务器地址,projectPath
替换为你的TFS项目路径,folderPath
替换为你要查询的文件夹路径。运行代码后,将输出按用户分组并计数的变更集结果。