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