Mercurial のリポジトリ更新時に Sphinx をビルドする
複数人でドキュメント書いたり修正する場合なんかに、Mercurial で Sphinx のドキュメントソースを管理しているわけですが、毎度毎度、 作業領域を更新してから make html するのが面倒なわけです。
で、例によって id:nullpobug が「mercurial の hook 使えば楽だよ」と言ってたので、 早速マネしてみました。
フックって?
Mercurial のリポジトリで発生するイベントを通知して、指定したアクションを 叩いてくれるトリガです。
フックの一覧
- changegroup
- commit
- incoming
- outcoming
- prechangegroup
- precommit
- preoutgoing
- pretag
- pretxnchangegroup
- pretxncommit
- preupdate
- tag
- update
今回の場合は、リポジトリ更新完了後に処理を走らせたいので update を使います。
ビルドスクリプトを用意
まずはフックされた際に走らせる Sphinx のドキュメントビルドスクリプト sphinx_build.sh を用意。 実行権限もつけときましょうか。
#!/bin/sh DOC_HOME=/path/to/doc cd $DOC_HOME make html