App::Git::Spark - Plot your git commit history on the command line with sparklines
$ git spark --days 14 Stegosaurus
Commits by Stegosaurus over the last 14 days
total: 95 avg: 7 max: 23
10 15 6 23 5 0 0 1 15 0 17 3 0 0
▄▅▂█▂▁▁▁▅▁▆▁▁▁
$ git vspark --months 10 Triceratops
Commits by Triceratops over the last 10 months
total: 263 avg: 26 max: 72
12 ██▋
18 ███▉
72 ███████████████▏
56 ███████████▊
16 ███▍
28 █████▉
12 ██▋
19 ████
19 ████
11 ██▍
$ git spark -h
usage: git spark [-dhmoswy] [long options...] [AUTHOR]
-o --hours Commits from the last x hours
-d --days Commits from the last x days
-w --weeks Commits from the last x weeks
-m --months Commits from the last x months
-y --years Commits from the last x years
-s --scale Set the max value of the graph. Use this option to
compare this graph with other graphs.
-h --help Show this message
Plot your git commit history on the commandline with sparklines and "vertical" sparklines.
Comparing graphs is often difficult because the scaling changes for different data sets. For example these two data series produce identical graphs despite have very different data.
$ spark 1 2 3 4 5
▁▂▄▆█
$ spark 10 20 30 40 50
▁▂▄▆█
To solve this, you must put a max and a min in front of the data to get consistent scaling. For example:
$ spark 50 1 1 2 3 4 5
█▁▁▁▁▁▁
$ spark 50 1 10 20 30 40 50
█▁▂▃▅▆█
git-spark assumes the min is zero and users can pass in the max using the --scale option. (Note that git-spark chops off the max/min characters from the output so this is all hidden behind the scenes.)
The --scale option is also relavent to git-vspark.
cpanm is the standard tool the Perl community uses to download and install Perl libraries from the CPAN. The following should get you up and running quickly:
curl -L http://cpanmin.us | perl - --sudo App::cpanminus
cpanm App::Git::Spark
Eric Johnson <cpan at iijo dot nospamthanks dot org>
This software is copyright (c) 2013 by Eric Johnson.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.