【发布时间】:2015-07-10 00:23:12
【问题描述】:
给定:团队项目 X 中具有 m > n 个变更集的 TFS 服务器。
我正在使用 TFS API 并希望获取该分支的 n 个最新变更集。
我想我应该使用VersionControlServer.QueryHistory,但我不明白如何指定我想要来自项目 X 的主(默认)分支的所有提交,但没有来自任何其他分支或来自另一个团队项目的提交集合。
【问题讨论】:
标签: c# tfs ironpython tfs-sdk
给定:团队项目 X 中具有 m > n 个变更集的 TFS 服务器。
我正在使用 TFS API 并希望获取该分支的 n 个最新变更集。
我想我应该使用VersionControlServer.QueryHistory,但我不明白如何指定我想要来自项目 X 的主(默认)分支的所有提交,但没有来自任何其他分支或来自另一个团队项目的提交集合。
【问题讨论】:
标签: c# tfs ironpython tfs-sdk
如果您只想更改$/Project/Some/Path,那么这应该是QueryHistory 的第一个参数。例如:
QueryHistory("$/Project/Some/Path", RecursionType.Full, 5);
将显示影响 $/Project/Some/Path 的最近 5 个变更集。
【讨论】:
这对我有用 - 我必须使用 QueryHistoryParameters 重载并设置 SortAscending = false 以获得最新的变更集 ID,而不是第一个变更集 ID。
var p = new QueryHistoryParameters(item.ServerItem, RecursionType.Full) {SortAscending = false};
var q = versionControl.QueryHistory(p);
var lastCs = q.FirstOrDefault();
if (lastCs != null)
item.LastChangesetId = lastCs.ChangesetId;
【讨论】: