【问题标题】:TFS API: Retrieve changesets from main branch using VersionControlServer.QueryHistoryTFS API:使用 VersionControlServer.QueryHistory 从主分支检索变更集
【发布时间】:2015-07-10 00:23:12
【问题描述】:

给定:团队项目 X 中具有 m > n 个变更集的 TFS 服务器。

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

我想我应该使用VersionControlServer.QueryHistory,但我不明白如何指定我想要来自项目 X 的​​主(默认)分支的所有提交,但没有来自任何其他分支或来自另一个团队项目的提交集合。

【问题讨论】:

    标签: c# tfs ironpython tfs-sdk


    【解决方案1】:

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

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

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

    【讨论】:

    • 我为最新的项目计数传入 1,但不幸的是它不是最新的,它是第一个/最旧的。
    【解决方案2】:

    这对我有用 - 我必须使用 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;
    

    【讨论】:

    • 问题是关于过滤路径,而不是排序,不是吗?
    猜你喜欢
    • 1970-01-01
    • 2010-11-22
    • 2018-10-10
    • 2014-11-01
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 2015-12-18
    • 2019-01-16
    相关资源
    最近更新 更多