Most git statistics generators have little or no control about the data being generated. No drill downs in graphs, no filters, just some default stats and graphs. This tool uses the power of weave to visualize all you precious data.
Demo for the git repository of the symfony yaml PHP library:
Git statistics for symfony/yaml
Please note the online demo is limited: you cannot create data from your own SQL queries of the git statistics. You are limited to some static CSV files. For a full demo use docker for a quick setup.
Docker FTW!
docker run -p 8080:80 -e GIT_URL="https://github.com/symfony/yaml.git" -it suramon/weave-gitstats
Replace the GIT_URL variable with the git repo url you want to take statistics from. The statistics will be available on http://localhost:8080
It uses a simple PHP script to parse the git log output and save it to a MySQL database (configurable in config.ini). Weave is purely web based (it has some server side backend code but we don't use it). We feed the data to weave through an ajax call that passes a SQL query.
This combines the power of SQL with the power of weave!
Sometimes your statistics look crooked because:
- Authors use different names
- Huge test files or are committed that don't count as code
- Autogenerated code is committed
- Files that should be ignored are added and later removed
To counter this you can create a view that filers these files/commits. Goto http://localhost:8080 click on adminer and edit the view files_committed_clean. Eg:
CREATE VIEW files_committed_clean AS SELECT * FROM files_committed WHERE file NOT LIKE '%.xml'
This will filter all the xml file commits in your project. you can also filter on hash, or rewrite some authors names.