I would like to create a report from our TFS database which selects all source code repository names and commit history for these repositories. We are using git and it is integrated with TFS, but I am not sure how to access commit history from the TFS database.

I'd like to create something like this

Repository 1 - Name
Commit 1- author - date
Commit 2- author - date
Commit 3- author - date
Repository 2 - Name
Commit 1- author - date
Commit 2- author - date
Commit 3- author - date

I was reading this document:

https://docs.microsoft.com/en-us/azure/devops/report/sql-reports/table-reference-relational-warehouse-database?view=azure-devops-2019#SourceCode

Though that's not quite what I want, it got me started. Looking at the schema I found these tables:

DimChangeset (changeset data) DimFile (individual files changed) DimPerson (user data) DimTeamProject (Teams project)

That seems to cover most of what I need, however I am not seeing where to get the repository names that are within the teams projects. Any suggestions? The repository names are in the TFS UI, so I assume they are stored in the database somewhere.

1 Answers

1
Daniel Mann On Best Solutions

The SQL data warehouse and analysis cubes are deprecated. They haven't received updates for new features for many, many years -- that includes Git repos and JSON/YAML build/releases. What you're seeing is for TFVC repos, not Git repos.

The modern implementation is the OData analytics feed. However, it's not available in versions prior to Azure DevOps Server 2019. Unfortunately, repos aren't yet supported. There's not really a supported way to get the information you're after right now. You can query repo information using the REST APIs, but it's not in a format that's really intended to be used for tracking trends.