From 28b390c19aaf10b334236caed11c7a503e5198cc Mon Sep 17 00:00:00 2001 From: "http://schmonz.livejournal.com/" Date: Fri, 31 Jul 2009 18:32:56 -0400 Subject: voila --- doc/post-commit/discussion.mdwn | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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]] -- cgit v1.2.3