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