我们使用 TFS 2013,拥有大约 90 个单独的存储库,40 名开发人员定期进出这些存储库。
我想生成一些关于所有项目在给定时间范围内每位用户的提交次数的统计数据。是否有可能做到这一点?是否有任何开源项目可以做到这一点?使用一些 TFS 库怎么样?我肯定希望避免必须检查每个存储库才能获取信息。
最佳答案
如果您想直接从 TFS 服务器提取此信息,而不是一次提取一个存储库,您可以这样做。为此,您需要直接查询 TFS 数据库,并且可以轻松编写 SSRS 报告,使此信息易于使用。
这是一个您可以用来开始的查询。这将显示所有存储库中的所有提交。
use [Tfs_DefaultCollection]
select r.Name, u.FullName, m.CommitTime, m.Comment
from dbo.tbl_GitCommitMetadata m
left join dbo.tbl_GitCommit c on c.InternalCommitId = m.InternalCommitId
left join dbo.tbl_GitRepository r on r.InternalRepositoryId = c.InternalRepositoryId
left join dbo.tbl_GitCommitUser u on u.InternalId = m.CommitterId and u.PartitionId = m.PartitionId
order by r.Name, u.FullName, m.CommitTime
作为引用,我有更多关于 how TFS stores git repositories 的信息在我的博客上。
关于Git 用户提交计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26932447/