Mercurial is a distributed revison control system developed by Matt Mackall. Ikiwiki supports storing a wiki in a mercurial repository.
Ikiwiki can run as a post-commit
and/or incoming
hook to update a wiki whenever commits or remote pushes
come in. When running as a cgi with Mercurial, ikiwiki automatically
commits edited pages, and uses the Mercurial history to generate the
RecentChanges page.
Example for a .hg/hgrc
file in $SRCDIR
:
[hooks]
post-commit = ikiwiki --setup /path/to/ikiwiki.setup --post-commit
incoming = ikiwiki --setup /path/to/ikiwiki.setup --post-commit
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.
See also todo/mercurial