Hatena::ブログ(Diary)

SPEAKER BREAKA このページをアンテナに追加 RSSフィード Twitter

2010-03-27

Mercurial のリポジトリ更新時に Sphinx をビルドする

複数人でドキュメント書いたり修正する場合なんかに、MercurialSphinx のドキュメントソースを管理しているわけですが、毎度毎度、 作業領域を更新してから make html するのが面倒なわけです。


で、例によって id:nullpobug が「mercurialhook 使えば楽だよ」と言ってたので、 早速マネしてみました。


フックって?

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

フックの設定

次に Mercurialリポジトリ直下 .hg にある hgrc にフックの設定を追記。

[hooks]
update.sphinx = /path/to/sphinx_build.sh

おわり

こんだけ。

$ hg pull
$ hg update

で更新が完了するとビルドスクリプトが走ってくれますよっと。


これも気になる

こんどやってみよっと

映像奮闘記: OMakeでSphinxを自動継続ビルドしてみよう

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/namaco35/20100327/1269621298