X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/d5566303d6b416fb4b0f49a4a7eae2c81bddf17e..b73debadba7994ecb882b3405376e3d7ece124ef:/doc/post-commit.mdwn diff --git a/doc/post-commit.mdwn b/doc/post-commit.mdwn index 6e768ce24..780687563 100644 --- a/doc/post-commit.mdwn +++ b/doc/post-commit.mdwn @@ -1,26 +1,30 @@ +A post-commit hook is run every time you commit a change to your subversion repository. To make the wiki be updated each time a commit is made, it can be run from (or as) a post-commit hook. + The best way to run ikiwiki in a [[Subversion]] post-commit hook is using -a wrapper, which can be generated using `ikiwiki --gen-wrapper`. +a [[wrapper]], which can be generated using `ikiwiki --wrapper`. First, set up the subversion checkout that ikiwiki will update and compile into your wiki at each subversion commit. Run ikiwiki a few times by hand -to get a feel for it. Now, generate the wrapper by adding "--gen-wrapper" +to get a feel for it. Now, generate the wrapper by adding "--wrapper" to whatever command line you've been using to run ikiwiki. For example: ~/wiki-checkout> ikiwiki . ~/public_html/wiki - ~/wiki-checkout> ikiwiki . ~/public_html/wiki --gen-wrapper + ~/wiki-checkout> ikiwiki . ~/public_html/wiki --wrapper successfully generated ikiwiki-wrap 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 --gen-wrapper, and can only be used to update and +specified when you ran --wrapper, and can only be used to update and compile that one checkout into the specified html directory. Now, put the wrapper somewhere convenient, and create a post-commit hook script in your subversion repository for the wiki. All the post-commit -hook has to do is run ikiwiki-wrap (with no parameters). +hook has to do is run the wrapper (with no parameters). Depending on your Subversion setup, the post-commit hook might end up getting called by users who have write access to subversion, but not to your wiki checkout and html directory. If so, you can safely make ikiwiki-wrap 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.