Merge branch 'ready/more-proxy-utf8-fail'
[ikiwiki] / doc / rcs / mercurial.mdwn
1 [Mercurial](http://selenic.com/mercurial) is a distributed revison control
2 system developed by Matt Mackall. Ikiwiki supports storing a wiki in a
3 mercurial repository.
4
5 Ikiwiki can run as a `post-commit` and/or `incoming` hook to update a wiki whenever commits or remote pushes
6 come in. When running as a [[cgi]] with Mercurial, ikiwiki automatically
7 commits edited pages, and uses the Mercurial history to generate the
8 [[RecentChanges]] page.
9
10 Example for a `.hg/hgrc` file in `$SRCDIR`:
11
12     [hooks]
13     post-commit = ikiwiki --setup /path/to/ikiwiki.setup --post-commit
14     incoming = ikiwiki --setup /path/to/ikiwiki.setup --post-commit
15
16 Do not use `commit` or `precommit` hooks or ikiwiki will run into a dead lock when committing in `$SRCDIR`. Also note that `--post-commit` and not `--refresh` must be used to avoid dead locking when editing the pages via CGI interface.
17
18 See also [[todo/mercurial|todo/mercurial]]