多个用户的TFS变更集
本文关键字:TFS 用户 | 更新日期: 2023-09-27 18:05:25
我一直在使用TFS API来获取特定月份之间与所有更改集相关的所有工作项。然后通过变更集对象,我使用commiterDisplaName属性过滤出特定的用户组,例如"foo1,foo2,foo3"。
这是非常耗时的,因为它首先提取所有的更改集,然后通过循环尝试通过用户的名称过滤出每个更改集的工作项。
在TFS API中是否有一种方法,我只能直接获得多个用户完成的更改集?我已经在MSDN上搜索了这个,但是到现在还没有找到这个。
这肯定会减少通过用户名进行循环过滤的时间。
谢谢。
VersionControlServer。QueryHistory有一个签名过载
public IEnumerable QueryHistory(
string path,
VersionSpec version,
int deletionId,
RecursionType recursion,
string user,
VersionSpec versionFrom,
VersionSpec versionTo,
int maxCount,
bool includeChanges,
bool slotMode
)
注意第五个参数user。因此,您可以查询特定用户的更改集
var changesets = vcServer.QueryHistory(
"<your local path>", VersionSpec.Latest, 0, RecursionType.Full,
@"domain'user", null, null, 10, false, false);
但是,这个user
参数不支持多用户。我也不认为其他的TFS API支持多用户。因此,您可以遍历用户列表并检索每个用户的变更集。这仍然是一个循环,但它应该比查询所有的更改集快得多。