【问题标题】:How to query merges including changeset change details?如何查询合并,包括变更集更改详细信息?
【发布时间】:2015-02-07 08:46:27
【问题描述】:

我正在运行一些版本控制查询,并想查看返回的变更集中的更改。

当我使用QueryHistory 查询时,一些重载让我指定includeChanges: true,这意味着返回的ChangeSets 填充了它们的Changes 属性,我可以查看它 - 太棒了!

当我使用QueryMergesWithDetails查询时,我没有指定includeChanges,所以返回的ChangeSets有Changes=null,我不能使用。

我试过了:

  • 使用GetChangesForChangeset 获取更改,但对于每个更改集,这是到服务器的往返,速度很慢。
  • 使用QueryMergesExtended,但它只产生ExtendedMerges,它只有变更集ID。这意味着我必须为每个变更集再次查询服务器,这又很慢。

问题:

  1. 如何像QueryMergesWithDetails 一样查询,但是否已填充更改?
  2. 如果做不到这一点,如何查询服务器以获取一批变更集的更改?

【问题讨论】:

    标签: tfs tfs-sdk


    【解决方案1】:

    我自己也遇到了这个障碍。我不知道有什么方法可以发出一个查询来检索多个变更集,其中包括每个变更集的 Changes 和 MergeHistory。我发现您在问题中已经提到的最佳解决方法:

    使用带有includeChanges=true 标志的QueryHistory 查询变更集。然后遍历这组变更集并使用includeMergeSourceInfo=true 调用GetChangesForChangeset。我发现这个过程实际上并没有那么慢,但它确实涉及往返。

    如果您愿意在 TFS API 之外工作,您可以编写一个自定义 SQL 查询,该查询将在一个查询中提取您需要的所有数据,但从不真正建议直接针对 TFS 数据库工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多