我是TFS的新手,需要编写TSQL查询以获取特定变更集版本号中包含的所有文件和版本号的列表。在线搜索表格以获取此信息时,我发现有些人提到使用Tfs_Warehouse
数据库和其他使用Tfs_DefaultCollection
数据库的人。我有以下问题:
答案 0 :(得分:9)
如果您希望从SQL Server数据库获取此数据,可以使用以下查询来启动:
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.ChangeSetId = [Your changeset ID])
ORDER BY chg_set.CreationDate, v.FullPath
答案 1 :(得分:2)
您可以使用TFS对象模型中的VersionControlServer.GetChangeset() method。
您需要在GAC中添加对以下程序集的引用:
Microsoft.TeamFoundation.VersionControl.Client
Private Shared Sub Main(ByVal args As String())
Dim tfs As TfsTeamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(New Uri("http://tfsserver:8080/tfs/CollectionName"), New UICredentialsProvider)
tfs.Connect(ConnectOptions.None)
Dim vcs As VersionControlServer = tfs.GetService(Of VersionControlServer)
Dim changeset As Changeset = vcs.GetChangeset(changeset ID, True, False)
End Sub
然后,您可以检查.Changes属性以查看Changeset中包含的所有更改。
答案 2 :(得分:0)
tf.exe changeset
不提供您想要的信息吗?它有很多选择...