読者です 読者をやめる 読者になる 読者になる

@numa08 猫耳帽子の女の子

明日目が覚めたら俺達の業界が夢のような世界になっているとイイナ。

git-countを使ってみたよ

あ!アイドルの!!!f:id:numanuma08:20131220010702p:plain

Scala座によく参加をしてくださる@mironalさんがGitのサブコマンド、Git-countを作ったそうなので使ってみた。

[NeetHouse] Git のサブコマンド git-count の紹介

使い方

Macの場合はHomebrewでインストールができるので、次のコマンドで行けるようです。

brew tap neethouse/neet
brew install git-count

Gitで管理しているファイルを正規表現で指定すると、誰がどれだけコミットをしたか表示されるそうです。

今一番アツいプロジェクトnuma08/numa08で試してみました。

git count ./
35 files found.

numa08          10317
funnelbit       9
mktakuya        0

Total   10326

以前id:funnelbitSNS関連のCSSを書いてもらったのでその分がカウントされてますね。あと、id:mktakuyaさんに誤字を修正してもらったことがあるので、コミッターに含まれてますね。

カウントが0になってるのは、たぶんその修正分は俺が更に修正をしたからだと思います・・・。ごめんね、mkさん。またプルリク頂戴ね。

ハック

グラフにしたいってニーズに答えるため、Google Chart APIを使って縦線のグラフを作るワンライナーを書いてみた。

wget -O chart.png $(printf "http://chart.apis.google.com/chart?cht=bvs&chs=100x50&chd=t:%s" $(git count ./ | awk -v ORS="" 'NR>1&&/^[a-zA-Z0-9]/{print $2","}') | awk '{sub(/.$/, "", $1); print $1}') 

awkを2回も使ってしまっているのが残念。まあとりあえずこれで、png形式で画像の取得ができますよ。

ワンライナーを書いて思った

最初はawkで行ごとに処理をしてパイプでprintfに渡すのかなー?と思ってたけど、うまくやる方法がわからなかった。awkとwhileを活用して配列(的なもの)を作ってパイプで渡すことができればいいんだけど、シェルスクリプトだと難しそうだった。

Scalaなら簡単にできそうだと思いました。

Git-countについて

Gitのサブコマンドってわりとお手軽に自作できることを知った。これは収穫。

awk芸で色々と遊べそうな感じがしましたよ。