コミットコメントを意地でも書かせたい
上記を見て感化されたので、Gitで短すぎるコミットログのコミットを禁止するhookを書きました。
#!/usr/bin/env ruby
#place this file in .git/hooks/commit-msg
MIN_LENGTH = 10
log = File.readlines(ARGV[0]).grep(/^[^#].+/)
length = log.to_s.split(//u).size - 1
if length < MIN_LENGTH
system('say Way way wait')
puts <<-EOS
##################################################################
このコミットは許しません!
1行目 [変更した理由、目的を簡潔に]
2行目以降 [必要ならば詳細を]
最低でも何故変更したのかのを、
未来の自分と保守担当者に向かって書きましょう。
コミットログは未来の自分へのメッセージです。
今は不要に思っても、未来にはきっと役に立ちます。
#{length}文字しかありません。
有効なメッセージを#{MIN_LENGTH}文字以上
##################################################################
EOS
exit 1
end
せっかくMacなのでsayコマンド使ってAlexさんにしゃべらせてます。
ちなみにコミットログはcommit-msgスクリプトの第一引数に.git/COMMIT_EDITMSGというファイル名が渡ってきますので、それを覗いてやれば参照できます。
タグ: Git