【问题标题】:how to group resources involved in a specific set of changesets?如何对一组特定变更集所涉及的资源进行分组?
【发布时间】:2012-02-20 22:23:03
【问题描述】:

如何查询 tfs 历史以获得此结果:对一组变更集中涉及的资源进行分组?例如,我想做的是了解过去 2 个月内哪些文件发生了变化。我在 TFS Explorer 上尝试过,但我只能从单个变更集中获取详细信息。 TFS Sidekicks 也是如此。我对命令行没有运气,甚至没有直接连接到数据库。有人知道获得该结果的聪明方法吗?

【问题讨论】:

  • 那么您想要一份过去 2 个月内更改的所有文件的列表吗?
  • 是的..但我真的找不到直接的方法来获得这样的列表。

标签: tfs history changeset


【解决方案1】:

我不知道如何获得VersionToVersionFrom,所以我只是在这里从版本100Latest。您可以使用 Source Control Explorer 来查看历史记录并获取您的 VersionFromVersionTo

这是一个使用 TFS API 的代码 sn-p。您需要添加一些对 Microsoft.TeamFoundation.* 程序集的引用才能构建它。

using (var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(CollectionAddress)))
{
    var server = tfs.GetService<VersionControlServer>();

    var changes = 
        server.QueryHistory(
          "$/Project/Main",
          VersionSpec.Latest,
          0,
          RecursionType.Full,
          "",
          VersionSpec.ParseSingleSpec("100", ""), //From ??
          VersionSpec.Latest,                     //To ??
          100,
          true,
          true)
    .Cast<Changeset>()
    .SelectMany(changeset => changeset.Changes.Select(change => change.Item.ServerItem));
}

【讨论】:

  • 我还没考虑过使用 TFS api。真的很有帮助,谢谢。
  • @Diego 那是我第一个去的地方。我使用 LinqPad,所以我可以立即得到结果。
猜你喜欢
  • 2019-10-01
  • 2021-10-23
  • 1970-01-01
  • 2017-07-20
  • 2018-05-19
  • 2023-01-11
  • 1970-01-01
  • 2017-03-07
  • 2014-04-30
相关资源
最近更新 更多