githubでどれだけ行を追加したか、削除したかがわかるのがちょっとおもしろかったのでやってみた。
lib以下だけとかやろうと思ったけどめんどくさいのでやめました!
use strict; use warnings; my $text = `git log --pretty='%an' --shortstat`; my @logs = split "\n", $text; my %users; while(my($name, undef, $line) = splice @logs, 0, 3) { my ($changed, $insertions, $deletions) = split ',', $line; ($insertions) = ($insertions =~ m/([0-9]+)/); ($deletions) = ($deletions =~ m/([0-9]+)/); $users{$name}->{insertions} = ($users{$name}->{insertions} || 0) + $insertions; $users{$name}->{deletions} = ($users{$name}->{deletions} || 0) + $deletions; } use Data::Dumper;warn Dumper \%users; __END__
グラフがないとそこまで面白くない気がする…。
コミットログが多いと非常に重くなるので注意でござる。