devひよこのあしあと

いつでもひよっこな気持ちで学びと挑戦を

ズンドコキヨシ with post-commit

gitでコミットする度にコミットハッシュ値でズンドコ判定します。

$ echo "zundoko" >> test.txt ; git add test.txt ; git commit -m "zundoko"
ズンドコズンドコズンドコドコドコズンドコズンドコズンドコズンドコズンズンドコズンズンドコドコドコドコドコズンドコドコズンドコズンズンズンドコズンズンズンズンドコズン
[master (root-commit) 0d6383d] zundoko
 1 file changed, 1 insertion(+)
 create mode 100644 test.txt

$ echo "zundoko" >> test.txt ; git add test.txt ; git commit -m "zundoko"
ドコズンズンドコドコドコドコドコドコズンドコドコドコドコズンズンズンズンズンドコキ・ヨ・シ!
[master 746bf11] zundoko
 1 file changed, 1 insertion(+)

実装

.git/hooks/post-commitに下記を登録

git rev-parse HEAD | ruby -ne 'puts $_.split(//).map { |c| ["ズン", "ドコ"][c.hex % 2] }.join.sub(/(.*(?:ズン){5}ドコ).*/) {"#{$1}キ・ヨ・シ!"}'

コミットハッシュ値を一文字ずつ数値化して偶奇をズンorドコにマッピングし、例のフレーズが出てきたら「キ・ヨ・シ!」を出力して終了するようにしています。

元ネタ

まとめ

qiita.com