Commit log graph

Subversion で何日にどのくらいコミットしたのか,進み具合をグラフ化して見る企画.発想からして現実逃避企画丸出しだがツッコミは無用だ.

svn log からデータファイルを作る.表示される日時は JST じゃなくて +0900 で出るんだけど,いまは日単位でしか見ないので特にこだわらないことにする.cut でフィールド切り出しをやってるけど,これは commit を apache 経由でやっててユーザ欄が (no author) で固定されてるからです.個人用だし,iptables でフィルタリングしちゃってるから認証とかやってないんだ.

$ svn log | sed -n -e "/^r[0-9]* .*$/p" | \
  cut -d" " -f1,6 | \
  sed -e "s/^r\([0-9]*\) 20\([0-9]*\)-\([0-9]*\)-\([0-9]*\)/\2\/\3\/\4 \1/" \
  > log.dat

gnuplot でプロット.日付,時刻などの日時の扱い方を覚えておくと得をするかもしれないと思ったが,どうだろうか.詳細は gnuplot help で xdata, time/date, timefmt, time_specifiers を参照のこと.

set xdata time
set timefmt "%y/%m/%d"
plot 'log.dat' using 1:2 with linespoint

階段状になってるなあ.やってるときとやってないときの差がはっきり見えるわ.