From 58189f90a8f9b9d515299db82db72939a06ebcea Mon Sep 17 00:00:00 2001 From: "http://www.cse.unsw.edu.au/~willu/" Date: Sun, 26 Jul 2009 22:54:00 -0400 Subject: [PATCH 1/3] Changes look good to me. --- doc/todo/source_link.mdwn | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/todo/source_link.mdwn b/doc/todo/source_link.mdwn index 962e099a6..6abfea55c 100644 --- a/doc/todo/source_link.mdwn +++ b/doc/todo/source_link.mdwn @@ -24,6 +24,9 @@ I just implemented this. There is one [[patch]] to the default page template, a >> >> --[[smcv]] +>>> That looks like a nice set of fixes. One more that might be worthwhile: instead of reading the page source into a var, and then writing it out later, it might be nice to just +>>> `print readfile(srcfile(pagesources{$page}));` at the appropriate point. -- [[Will]] + ---- diff --git a/templates/page.tmpl b/templates/page.tmpl From 2774c0a0612f93a4b1c96f96c70b22e552fb4577 Mon Sep 17 00:00:00 2001 From: "http://schmonz.livejournal.com/" Date: Mon, 27 Jul 2009 00:19:39 -0400 Subject: [PATCH 2/3] CVS work in progress, debugging help appreciated --- doc/post-commit/discussion.mdwn | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/doc/post-commit/discussion.mdwn b/doc/post-commit/discussion.mdwn index 31347a614..555967625 100644 --- a/doc/post-commit/discussion.mdwn +++ b/doc/post-commit/discussion.mdwn @@ -45,3 +45,14 @@ Thanks > Yes, ikiwiki does expect you to use your revision control system to check > in changes. Otherwise, recentchanges cannot work right, since it uses the > commit history from your revision control system. --[[Joey]] + +----- + +I'm working on an [[rcs]] plugin for CVS, in order to integrate ikiwiki at sites where that's all they've got. What's working so far: web commit (post-commit hook and all), diff, add (under certain conditions), and remove. What's not working: with rcs_add(), iff any of the new page's parent dirs aren't already under CVS control and the post-commit hook is enabled, the browser and ikiwiki stall for several seconds trying to add it, then time out. (If I kill ikiwiki when this is happening, it cvs adds the topmost parent that needed adding; if I wait for timeout, it doesn't. I think.) If I disable the post-commit hook and do the same kind of thing, the page is created and saved. + +In case you're lucky enough not to know, cvs adds on directories are weird -- they operate immediately against the repository, unlike file adds: + + $ cvs add randomdir + Directory /Users/schmonz/Documents/cvswiki/repository/ikiwiki/randomdir added to the repository + +Can you offer an educated guess what's going wrong here? --[[Schmonz]] From 4b80bb5f9c43919fb86fd4c144280ac9246d20c8 Mon Sep 17 00:00:00 2001 From: "http://schmonz.livejournal.com/" Date: Mon, 27 Jul 2009 00:25:37 -0400 Subject: [PATCH 3/3] more data --- 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 555967625..c15396978 100644 --- a/doc/post-commit/discussion.mdwn +++ b/doc/post-commit/discussion.mdwn @@ -48,11 +48,13 @@ Thanks ----- -I'm working on an [[rcs]] plugin for CVS, in order to integrate ikiwiki at sites where that's all they've got. What's working so far: web commit (post-commit hook and all), diff, add (under certain conditions), and remove. What's not working: with rcs_add(), iff any of the new page's parent dirs aren't already under CVS control and the post-commit hook is enabled, the browser and ikiwiki stall for several seconds trying to add it, then time out. (If I kill ikiwiki when this is happening, it cvs adds the topmost parent that needed adding; if I wait for timeout, it doesn't. I think.) If I disable the post-commit hook and do the same kind of thing, the page is created and saved. +I'm working on an [[rcs]] plugin for CVS, adapted from `svn.pm`, in order to integrate ikiwiki at sites where that's all they've got. What's working so far: web commit (post-commit hook and all), diff, add (under certain conditions), and remove. What's not working: with rcs_add(), iff any of the new page's parent dirs aren't already under CVS control and the post-commit hook is enabled, the browser and ikiwiki stall for several seconds trying to add it, then time out. (If I kill ikiwiki when this is happening, it cvs adds the topmost parent that needed adding; if I wait for timeout, it doesn't. I think.) If I disable the post-commit hook and do the same kind of thing, the page is created and saved. In case you're lucky enough not to know, cvs adds on directories are weird -- they operate immediately against the repository, unlike file adds: $ cvs add randomdir Directory /Users/schmonz/Documents/cvswiki/repository/ikiwiki/randomdir added to the repository +I was able to work out that when I'm seeing this page save misbehavior, my plugin is somewhere inside `system("cvs", "-Q", "add", "$file")`, which was never returning. If I changed it to anything other than cvs it iterated correctly over all the parent dirs which needed to be added to CVS, in the proper order. (cvs add isn't recursive, sadly.) + Can you offer an educated guess what's going wrong here? --[[Schmonz]]