Skip to content

SuRaMoN/weave-gitstats

Repository files navigation

Weave based git statistics

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.

Online demo

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.

Run with docker

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

How it works

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!

Tweak it

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.