Handle file renames inside directories.
[git-plot.git] / growth.sh
blob5634d9a71c0b5a7fd9615f9ac7ce644cb6c225c8
1 #!/bin/bash
3 if [ $# -lt 1 ]; then
4 echo "Usage: $0 <output image>.png [geometry]" >&2
5 exit 1;
6 fi
8 TMP=$1
9 output="$1.png"
10 echo "Outputting to image $output, tmp = $TMP"
12 x=600
13 y=400
15 if [ $# -gt 1 ]; then
16 x=$2;
17 y=$3;
20 git log -C --numstat --reverse --pretty=oneline | awk '
21 function print_commit() {
22 print id" "ins - del;
24 BEGIN { id=""; ins=0; del=0; }
25 /^[0-9]+[\t ]+[0-9]+/ {
26 ins = ins + $1;
27 del = del + $2;
28 next;
30 /^[0-9a-z]+/ {
31 if( NR != 1 ) print_commit();
32 id = $1;
34 END{ print_commit(); }
35 ' > $TMP
37 gnuplot << _EOF_
38 set terminal png nocrop medium size $x,$y
39 set output '$output'
40 plot "$TMP" using 2
41 _EOF_
43 rm $TMP