web commit by JoshTriplett
[ikiwiki] / doc / post-commit.mdwn
1 A post-commit hook is run every time you commit a change to your
2 [[subversion]] (or [[git]] or [[mercurial]]) repository. To make the wiki be updated each
3 time a commit is made, it can be run from (or as) a post-commit hook.
4
5 The best way to run ikiwiki in a post-commit hook is using a wrapper, which
6 ikiwiki is usually configured to generate using a setup file.
7
8 The generated wrapper is a C program that is designed to safely be made
9 suid if necessary. It's hardcoded to run ikiwiki with the settings
10 specified when you ran --wrapper, and can only be used to update and
11 compile that one checkout into the specified html directory.
12
13 Depending on your setup, the post-commit hook might end up
14 getting called by users who have write access to the repository, but not to
15 your wiki checkout and html directory. If so, you can safely make
16 the wrapper suid to a user who can write there (*not* to root!). You might
17 want to read [[Security]] first.
18
19 [[Setup]] explains setting this up in more detail.