From: http://schmonz.livejournal.com/ Date: Fri, 31 Jul 2009 22:32:56 +0000 (-0400) Subject: voila X-Git-Tag: 3.15~65^2~1 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/28b390c19aaf10b334236caed11c7a503e5198cc?hp=faa29aaaf33af916ebb3936d9d2bcad32b8aedd6 voila --- diff --git a/doc/post-commit/discussion.mdwn b/doc/post-commit/discussion.mdwn index 3caa07a85..52642c36b 100644 --- a/doc/post-commit/discussion.mdwn +++ b/doc/post-commit/discussion.mdwn @@ -61,4 +61,6 @@ Can you offer an educated guess what's going wrong here? --[[Schmonz]] > Got `rcs_recentchanges` working, believe it or not, thanks to [cvsps](http://www.cobite.com/cvsps/). If I can figure out this interaction between the post-commit hook and `cvs add` on directories, the CVS plugin is mostly done. Could it be a locking issue? Where should I be looking? Any suggestions appreciated. --[[Schmonz]] ->> Okay, it is definitely a locking issue. First, on the conjecture that `cvs add ` was triggering the post-commit hook and confusing ikiwiki, I wrapped the ikiwiki post-commit binary with a shell script that exited 0 if the triggering file was a directory. The first half of the conjecture was correct -- my wrapper got triggered -- but the web add of `one/two/three.mdwn` (where `one` and `two` weren't existing CVS-controlled dirs) remained hung as before. There were two ikiwiki processes running. On a whim, I killed the one with the higher PID; `cvs add one` immediately completed successfully, then back to a hang and two ikiwiki processes. I killed the newer one again and then `cvs add one/two` and `cvs add one/two/three.mdwn` completed and the web add was successful. +>> Okay, it is definitely a locking issue. First, on the conjecture that `cvs add ` was triggering the post-commit hook and confusing ikiwiki, I wrapped the ikiwiki post-commit binary with a shell script that exited 0 if the triggering file was a directory. The first half of the conjecture was correct -- my wrapper got triggered -- but the web add of `one/two/three.mdwn` (where `one` and `two` weren't existing CVS-controlled dirs) remained hung as before. There were two ikiwiki processes running. On a whim, I killed the one with the higher PID; `cvs add one` immediately completed successfully, then back to a hang and two ikiwiki processes. I killed the newer one again and then `cvs add one/two` and `cvs add one/two/three.mdwn` completed and the web add was successful. --[[Schmonz]] + +>>> Aaaaaand I was wrong about the second half of the conjecture being wrong. The wrapper script wasn't correctly identifying directories; with that fixed, everything works. I've created a [[plugins/contrib/cvs]] plugin page. Thanks for listening. :-) --[[Schmonz]]