【问题标题】:TFS SQL - Select a list of unmerged changesetsTFS SQL - 选择未合并变更集的列表
【发布时间】:2016-01-13 20:44:58
【问题描述】:

使用SSMS 并连接到TFS 服务器我正在尝试选择一个列表,其中包含尚未合并到同一项目中其他分支的所有更改集,并且不知道要哪些表利用,或如何加入他们。

我们的目标是以这样的方式呈现信息,从而生成如下结果集:

UserName | CountOfUnmergedChangeSets

User1 | 32

User2 | 1

User3 | 10

我看到项目数据库中有“dbo.tbl_ChangeSet”,[Tfs_Warehouse] 数据库中有另一个标题为“[dbo].[DimChangeset]”。我也看到了dbo.tbl_MergeHistory,但在确定如何将其与changeset 表一起使用时,效果并不好。

【问题讨论】:

  • 不要直接向团队项目集合数据库报告。仓库是唯一受支持的报告选项。
  • 使用 TFS 客户端对象模型可能比直接通过数据库更容易收集此信息。有太多可以通过分支和合并跟踪的细线,我什至不知道在数据库中从哪里开始,或者所有不同的标志和数字意味着什么。此外,Microsoft 可以更改表格的内部含义,恕不另行通知。

标签: sql-server tfs


【解决方案1】:

正如 Daniel 所说,不建议直接从 TFS 数据库中查询信息。可以使用TFS tf.exe merge command(也可以在PowerShell脚本中使用)。

tf merge /candidate /recursive BranchA  BranchB

此命令将显示对 BranchA 进行但尚未合并到 BranchB 的所有变更集。

另一种选择是使用 API 来实现您的目的。VersionControlServer 有一个名为 GetMergeCandidates 的属性,它返回一个包含变更集的 MergeCandidate 数组,如果它已经部分合并为属性。这里也有类似的问题TFS: List changesets that have not been merged供大家参考

【讨论】:

  • 我看到这种类型的答案很典型,但我不确定如何从中开发一系列报告。
猜你喜欢
  • 2014-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-05
  • 2012-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多