1

我们有一个签到记录的团队项目集合源代码控制设置,要求每次签到都捕获一个“跟踪号”。此数字在 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

先感谢您。

4

0 回答 0