2013年7月28日日曜日

gitのhooksを活用する


このエントリーをはてなブックマークに追加

gitフックについて

どのような種類のフックがあるかは、ここで確認

コミット前にテストを実行

.git/hooks/pre-commitに好きなスクリプトを置いておくと実行されます。
以下のコードでcommit時にproveが走るようになります。


#!/usr/bin/env perl
use strict;
use warnings;

chomp( my $project_dir = `git rev-parse --show-toplevel` );
system("prove", "-I${project_dir}/lib", "${project_dir}/t") == 0 or die 'Failed test';

gitのバージョンが古いためshow-toplevelオプションが無い場合は、
git-dirオプションで.gitディレクトリへのパスが取得できるので、そこから目的のパスを作るといいです。

コミット前にコードチェックorフィルター

my @modified_files = system('git diff-index --cached --name-only HEAD');

で変更ファイル一覧が取れるので、あとはお好きにできますね。




0 件のコメント:

コメントを投稿