]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/post-commit.mdwn
web commit by http://joey.kitenet.net/: test
[ikiwiki.git] / doc / post-commit.mdwn
index 6635d3bbd1f4a52158835aef2c1a61429fcfa121..84375dad03155bf209f540912b3dc8426f11c590 100644 (file)
@@ -1,11 +1,19 @@
-Here's an example of how to run ikiwiki in a [[Subversion]] post-commit
-hook to automatically update a wiki as commits come in:
+A post-commit hook is run every time you commit a change to your
+[[subversion]] (or [[git]] or [[mercurial]]) repository. To make the wiki be updated each
+time a commit is made, it can be run from (or as) a post-commit hook.
 
-       wiki_src=/path/to/checkout
-       wiki_dest=/path/to/web/server
-       svn up -q $wiki_src
-       ikiwiki $wiki_src $wiki_dest --wikiname=MyWiki
+The best way to run ikiwiki in a post-commit hook is using a wrapper, which
+ikiwiki is usually configured to generate using a setup file.
 
-This assumes that permissions allow anyone who commits to svn up the
-wiki_src directory and write to wiki_dest. If they don't, you'll need a
-suid wrapper to run the above as a user who can write to both.
+The generated wrapper is a C program that is designed to safely be made
+suid if necessary. It's hardcoded to run ikiwiki with the settings
+specified when you ran --wrapper, and can only be used to update and
+compile that one checkout into the specified html directory.
+
+Depending on your setup, the post-commit hook might end up
+getting called by users who have write access to the repository, but not to
+your wiki checkout and html directory. If so, you can safely make
+the wrapper suid to a user who can write there (*not* to root!). You might
+want to read [[Security]] first.
+
+[[Setup]] explains setting this up in more detail.