项目作者: anderaus

项目描述 :
Command line tool to collect git repository statistics
高级语言: C#
项目地址: git://github.com/anderaus/RepoStats.git
创建时间: 2018-10-06T14:11:01Z
项目社区:https://github.com/anderaus/RepoStats

开源协议:MIT License

下载


RepoStats

Simple .NET Core console application for collecting statistics from a set of remote git repositories. Meant used for developer KPI reporting.

Features

  • Most recent commit for each repo (repo staleness)
  • Number of commits per contributor
  • Number of unique contributors last X months (human coverage)
  • Any suggestions?

How to use

Clone, build, edit appsettings.json and run:

dotnet run --username {username} --password {password}

Configuration

Example appsettings.json content:

  1. {
  2. "username": "{username}",
  3. "password": "{password}",
  4. "repos": [
  5. {
  6. "url": "http://something.something.git",
  7. "friendlyName": "My fine nuget"
  8. },
  9. {
  10. "url": "http://otherthing.otherthing.git",
  11. "friendlyName": "My fine service"
  12. }
  13. ],
  14. "authorEmailAliases": [
  15. {
  16. "primary": "post@andersaustad.com",
  17. "aliases": [ "anderaus@gmail.com", "anders.austad@novanet.no", "anderaus@outlook.com" ]
  18. }
  19. ]
  20. }

Status

Incomplete proof-of-concept using libgit2. Currently clones/fetches repos, loops through commits and collects some key stats. Simple visualization of staleness and coverage using chart.js.

Todos

  • Read auth and repos info from config file or command line
  • Clone/fetch remote repos
  • Gather basic statistics from repos
  • Gather advanced statistics from repos
  • Use configured email aliases to find unique contributors (some contribute using multiple emails)
  • Persist key statistics to json file
  • Create basic static html page visualizing the result
  • Create more advanced html page visualizing the result using chart.js