在TFS 2010中,如何在办理登机手续时搜索记录中输入的值?

时间:2013-01-30 14:43:53

标签: tfs tfs2010 history changeset

我们为签到备注提供了团队项目集合源控制设置,要求每次签入都要捕获“跟踪号”。这个数字是TFS的外部数字。我需要搜索具有特定跟踪号的所有变更集。

生成的变更集列表告诉我每月部署的最新版本。

我们不使用工作项。

问题1)tfs_default_collection中的哪些是存储的注释?轻松查看的一种方法是使用.SQL进行查询。我没有在任何数据库模式中看到“Note”。

问题2)如果我无法使用.SQL进行搜索,Microsoft.TeamFoundation.VersionControl.Client.dll中的哪个对象引用会向我提供签入注释的详细信息?


如果我知道变更集编号是什么,那么我可以做这样的事情给我列表。

- 这些是在'2013-01-28'

上的$ Release中检查的所有.slq对象
SELECT 
    chg_set.CreationDate,
    chg_set.ChangeSetId, 
    v.FullPath
FROM dbo.tbl_ChangeSet (nolock)AS chg_set 
    INNER JOIN dbo.tbl_Version (nolock)AS v ON chg_set.ChangeSetId = v.VersionFrom 
    LEFT OUTER JOIN dbo.tbl_File (nolock) AS f ON v.FileId = f.FileId
WHERE chg_set.CreationDate >= '2013-01-31'
and FullPath like '%Tracker\Releases\2013.02.31%'
and FullPath like '%.sql%'
ORDER BY chg_set.CreationDate, v.FullPath

经过多次深入挖掘TFS_DefaultCollection后,我找到了它。

我可以将这些结果与上面的查询结合起来,看看我到底要找的是什么。

SELECT ReleaseNoteId, FieldName, BaseValue
from Tfs_DefaultCollection.dbo.tbl_ReleaseNoteDetails
  where ReleaseNoteId in (SELECT ReleaseNoteId
FROM Tfs_DefaultCollection.dbo.tbl_ReleaseNote
  where DateCreated between '2013-01-18' and '2013-02-22')
    and FieldName = 'Tracker #'
    and BaseValue <> '0'  -- base value of zero is a merge from $Main

提前谢谢你。

0 个答案:

没有答案