TFS - 获取变更集范围

Nic*_*ver 5 powershell tfs tfs2008 tfs2010

在每个版本中,我都认为返回并获取所有变更集注释以与发行说明进行比较是一个很好的做法,以确保我们不会遗漏任何内容.由于我们对变更集注释中记录的所有功能更改都进行了详细介绍,因此它们是一种宝贵的资源.

我还没有找到从TFS 2008中提取这些内容的好方法.我尝试过:

  • VS历史记录窗口:这只提供前100个字符左右的截断椭圆样式.
  • TFS Powertools:也许我错过了一些东西,但是我不能得到一个不涉及在评论中修改换行符的输出格式,所以使任何可用的东西看起来像PITA,但也许PowerShell解决方案在这里是完美的?

我所追求的非常简单:

  • 变更集评论
  • ID
  • 日期
  • 用户名,如果可能

这在一定范围内......无论是日期还是ID限制,都可以.如果我可以将它限制在项目的某个分支内,那将是一个巨大的奖励.

我现在正在做的是获取这些数据是直接打开TFS SQL Server并在TfsVersionControl数据库上运行它:

SELECT    ChangeSetId, CreationDate, Comment
FROM      tbl_ChangeSet
WHERE     ChangeSetId > 6300
Run Code Online (Sandbox Code Playgroud)

我试过但没有找到一个好的资源,似乎Vertigo的博客上的所有伟大的TFS信息已经丢失,因为链接现在已经死了.有没有人有更好/理智的方式来掏出这些信息?格式并不重要,任何表格/ xml /我可以转换为可读的格式.

旁注:我们将在发布一周左右的时间内升级到VS 2010 ......如果答案是VS2010/TFS2010,那就更好了,因为这是一个长期的解决方案.

Kei*_*ill 9

团队基础电动工具(2008年10月),带有一个PowerShell管理单元(仅限32位,如果你恰巧是在Windows 64).试试这个:

Add-PSSnapin Microsoft.TeamFoundation.PowerShell
Get-TfsItemHistory . -Recurse -Version C57460~58090 | 
    fl Comment,ChangesetId,CreationDate,Committer


Comment      : Added printf's in a couple of event callbacks
ChangesetId  : 58090
CreationDate : 2/25/2010 1:46:09 PM
Committer    : ACME\johndoe
...
Run Code Online (Sandbox Code Playgroud)

这确实保留了评论中的换行符.如果您使用的是x64 Windows,请确保从32位(x86)PowerShell提示符运行此命令.