Yet another git hook management tool 'git-hooker'を作ってみました
Gitのフックスクリプトの管理ツールには、Sho Kusanoさんが作ったgit hookコマンドがあって、私も使わせていただいていたんですが、自分の求めるものと微妙に違う気がしたので、自分が欲しいものを作ってみました。
git hook
から引き継ぎたい長所は:
- installでコマンド1行でフックを追加できる
- testでフックを実行させられる
一方、git hook
から改良したかった点は:
- フックのが面倒(一度、lsでフック名を確認してから、uninstallに指定しなければならない)
- pipのfreezeコマンドのような、フック一覧を保存する仕組みが欲しい
インストール
Pythonで書かれていて、virtualenvwrapperが必要です。
$ mkvirtualenv -p python3.2 git-hooker $ git clone git://github.com/doloopwhile/git-hooker.git ~/.git-hooker $ cd ~/. git-hooker $ workon git-hooker $ python setup.py install $ echo 'export PATH="$HOME/.git-hooker/bin:$PATH"' >> ~/.bash_profile
使い方
hookの追加などは、git hook
と同じです
$ git hooker install pre-commit http://example.com/hook.sh # script on web $ git hooker install pre-rebase gist:0000 # gist $ git hooker install post-commit /path/to/your-hook # local script $ git hooker test <引数> <引数> ... # フックの実行
editコマンドでフック一覧を編集できて、フックの追加や削除ができます。
$ git hooker edit pre-commit (viなどでファイルが開かれるので、編集して上書き)