One and a half years ago, I released first version of vcsstat.sh and I regularly use it to check my commit statistics. A few days ago, I stared to modify vcsstat.sh, then hours ago, I had an idea, inspired by GitHubs Contributions calendar, which they added last month with some other features as new contribution tab in GitHub profile page.

Now, I have similar calendar right in terminal, just the way I like it.

The following screenshot was take from output of new version 0.2. The box-drawing Unicode characters and colors render the different amount of commits. The calendar is just like the one on GitHub, but always starting from ISO week 1 at the leftmost column. The rows are starting from Monday to Sunday, 7 rows for each year.

https://lh6.googleusercontent.com/-pmy5cph0Zw8/UQ6UIjEduyI/AAAAAAAAEaQ/hKDTOZWAuj8/s800/vcsstat.sh%2520-%2520commit%2520calendar.png

Commit calendar

The calendar prints out full years, from year of first commit to year of last commit. You can see there is a header line of abbreviation of months, with the year number replacing the position of January.

The corresponding list of changes, additions and deletion, is shown below.

https://lh4.googleusercontent.com/-2xZlGFL7Rls/UQ6UJvC3gqI/AAAAAAAAEaY/RCDjyt5tySY/s800/vcsstat.sh.png

This is basically what vcsstat.sh did before, I only added a total number for this output, although I did edit the code for little better performance.

The calendar uses Unicode and ANSI colors to render, some may not like them or environment may not be able to support, so I also added some options to turn them off. Next screenshot shows output without colors:

https://lh6.googleusercontent.com/-F5Mz3mkaJMk/UQ6UHb827EI/AAAAAAAAEaI/d10VfQSft-I/s800/vcsstat.sh%2520-%2520commit%2520calendar%2520-%2520no%2520color.png

Disable color output

The final one is non-Unicode output:

https://lh6.googleusercontent.com/-jlG8EZDWXok/UQ6UGUB2hnI/AAAAAAAAEaA/xAyiYmPZFQA/s800/vcsstat.sh%2520-%2520commit%2520calendar%2520-%2520no%2520Unicode.png

Disable Unicode output

There may be some confusing between different outputs, but the calendar isId sayjust for a feeling, dont look into it too seriously. If you would like to try it, go to vcsstat.sh project. Its just a Bash script and it can scan current (sub-)directory of Git or Mercurial repositories.