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

パルカワ2

PerlとRubyとイチャラブ

ドキュメントが更新されていない場合はコミットさせない。

アタクシ、うっかりさんなので、ついついAPIを作ったり、更新したりしてもドキュメントの更新を忘れる時がある。ダメやんって怒られる。つらい。
なので、lib以下が更新された時docs以下が更新されていなければコミットさせないようにした。

#!/usr/bin/env perl
# .git/hook/pre-commit に置く
use strict;
use warnings;
use utf8;
use Encode;
use Term::ANSIColor;

my @lines = `git diff --cached --name-only`;
if (grep { /lib/ } @lines) {
    if (!grep { /docs/ } @lines) {
        warn encode_utf8 colored("ドキュメントが更新されていない", 'black on_red'), "\n";
        exit 1;
    }
}

lib/Hoge.pmの改行を直しただけだとかドキュメントを更新する必要ないときもある。
そんな時は、git commit --no-verifyすると無視されます。

Git - Git フック