Yes, git is a wonderful thing. In this tutorial, I will introduce a tool I wrote called git-logger. This program creates a visual representation of the times of the week where your git project has been busiest (similar to a work punch card).

For example, to examine the weekly commit times of project git-logger itself, we do:

git clone https://gitlab.com/CrazyBaboon/git-logger.git cd git-logger chmod +x git-logger.sh ./git-logger.sh # run git-logger

We get the following output:

Now, git-logger project is simple since it only has 27 commits.

In order to try a few more complex project, say GIMP or Minetest, we need to place the script ‘git-logger.sh‘ in the project’s corresponding git folder (git clone https://gitlab.gnome.org/GNOME/gimp.git) and then run it. We then get (as of July 2018):

The color scheme is:

green for less than 10 commits

yellow for less than 100 commits

red for >= 100 commits

One current limitation of git-logger is that it works best for up to medium sized projects, with less than a thousand hourly commits.

However, it should work for any language (as it supports arbitrary locales). The minimal version written in around 40 lines of Bash code!

Also, I have updated git-logger, so that now it supports 18 colors, giving smoother gradients.

Enjoy your git punch cards!