gpt4 book ai didi

c# - TFS API - 每次变更集迭代都很慢

转载 作者:太空宇宙 更新时间:2023-11-03 15:57:09 25 4
gpt4 key购买 nike

问题背景:

我正在使用 TFS api 查询我的 TFS 服务器上的大范围(1-600+)文件。

我从每个文件中收集其所有的 ChangesetId,然后将其收集在一个列表中。

代码:

这是我正在使用的代码。它可以正常工作,为 QueryHistory 方法中的指定参数生成一个包含所有项目的 IEnumerable 更改集列表。

        VersionSpec versionFrom = VersionSpec.ParseSingleSpec("C1", null);

VersionSpec versionTo = VersionSpec.Latest;

var changesetList = tfsDevItem.VersionControlServer.QueryHistory(tfsDevItem.ServerItem, VersionSpec.Latest, 0, RecursionType.None, null, versionFrom, versionTo, Int32.MaxValue, true, false);

item.VersionList = new List<int>();

//*****Very slow iteration*****
foreach (Changeset ChangesetId in changesetList)
{
item.VersionList.Add(ChangesetId.ChangesetId);
}

问题:

当遍历 foreach 的 chagesetList 中的每个变更集时,所花费的时间难以置信。例如,115 个文件需要 1 分钟来生成每个文件变更集 ID 的列表。

我可以改进吗?如果是怎么办?

最佳答案

需要这么长时间的问题是代码中的“True”:

var changesetList = tfsDevItem.VersionControlServer.QueryHistory(tfsDevItem.ServerItem, VersionSpec.Latest, 0, RecursionType.None, null, versionFrom, versionTo, Int32.MaxValue, , 假);

您只需要变更集编号,因此在此处传递“false”。

该参数负责填充 Changeset 的“更改”属性.那些Changes持有 MergeSources 和 ChangeType 等。

关于c# - TFS API - 每次变更集迭代都很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23109315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com