【问题标题】:How can I get the latest change-set number via TFS API如何通过 TFS API 获取最新的变更集编号
【发布时间】:2012-05-02 05:52:29
【问题描述】:

如何通过 TFS API 获取最新的变更集编号? 可以举个例子吗?

【问题讨论】:

  • 什么的最新变更集? TFS 服务器、团队项目、分支或文件?
  • @Nockawa,团队项目的最新变更集

标签: c# api tfs


【解决方案1】:

给你:

TeamProjectPicker tpp = new TeamProjectPicker(TeamProjectPickerMode.SingleProject, true);
tpp.ShowDialog();

var tpc = tpp.SelectedTeamProjectCollection;

VersionControlServer versionControl = tpc.GetService<VersionControlServer>();

var tp = versionControl.GetTeamProject("MyTeamProject");
var path = tp.ServerItem;

var q = versionControl.QueryHistory(path, VersionSpec.Latest, 0, RecursionType.Full, null, VersionSpec.Latest, VersionSpec.Latest, Int32.MaxValue, true, true, false, false);

Changeset latest = q.Cast<Changeset>().First();

// The number of the changeset
int id = latest.ChangesetId;

QueryHistory 是使用 TeamProject 的 VersionControl 中的路径调用的,我们想要从最新到最新变更集的历史记录,在您的情况下,剩下的所有参数都是默认的。

【讨论】:

  • 如果您只对最新的变更集感兴趣,并且只对变更集编号感兴趣,我建议您设置MaxCount = 1IncludeFileDetails = false 以避免一些不必要的计算?
  • 将 MaxCount 设置为 1 并不重要,因为无论如何范围都是 1。但是,您在 includechanges 参数上是对的,这是不必要的。
  • 是的,我看错了 - 没有意识到您正在从最新查询到最新。
  • 我总是得到一个空的枚举:(
  • 所编写的代码仅适用于具有最新签入的 TeamProject,所有其他 TeamProjects 返回一个空的可枚举(如 Sam 所说)。要修复它,请将 versionFrom 和 versionTo 参数更改为 null 和 null 以查询所有版本。
猜你喜欢
  • 2015-11-12
  • 2015-10-11
  • 1970-01-01
  • 2011-05-12
  • 2011-03-21
  • 2017-12-27
  • 2014-08-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多