package App::Git::Spark;

our $VERSION = '0.005'; # VERSION

# ABSTRACT: Plot your git commit history on the command line with sparklines

__END__

=pod

=encoding utf-8

=head1 NAME

App::Git::Spark - Plot your git commit history on the command line with sparklines

=head1 SYNOPSIS

    $ 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

=head1 DESCRIPTION

Plot your git commit history on the commandline with sparklines and "vertical"
sparklines.  

=head1 COMPARING GRAPHS

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.

=head1 INSTALLATION

L<cpanm|https://metacpan.org/module/App::cpanminus> is the standard tool the
Perl community uses to download and install Perl libraries from the
L<CPAN|https://metacpan.org/>.  The following should get you up and running
quickly:

    curl -L http://cpanmin.us | perl - --sudo App::cpanminus
    cpanm App::Git::Spark

=head1 SEE ALSO

L<Term::Spark>

L<Term::Vspark>

=head1 AUTHOR

Eric Johnson <cpan at iijo dot nospamthanks dot org>

=head1 COPYRIGHT AND LICENSE

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.

=cut
