TFS API:使用VersionControlServer.QueryHistory从主分支中检索变更集

时间:2013-04-24 12:40:06

标签: c# tfs ironpython tfs2012 tfs-sdk

鉴于:mFS的TFS服务器; n团队项目X中的变更集。

我正在使用TFS API,并希望获得该分支的n个最新变更集。

我认为我应该使用VersionControlServer.QueryHistory,但我不明白我如何指定我希望所有提交来自项目X的主(默认)分支,但没有来自任何其他分支或来自其他团队该系列中的项目。

2 个答案:

答案 0 :(得分:4)

如果您只想更改$/Project/Some/Path,那么这应该是QueryHistory的第一个参数。例如:

QueryHistory("$/Project/Some/Path", RecursionType.Full, 5);

将显示最近影响$/Project/Some/Path的5个变更集。

答案 1 :(得分:1)

这对我有用 - 我必须使用QueryHistoryParameters重载并设置SortAscending = false以获取最新的变更集ID,而不是第一个changesetid。

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;