887b5c4a28254284c44b6f8cab65f513bbbf6849
[ikiwiki.git] / doc / rcs / svn / discussion.mdwn
1 If the user interrupts the page loading during the running of `svn commit`,
2 the repository will be left in an inconsistent state. The probability of
3 this happening increases with the size of the repository and the number of
4 plugins installed, because these both affect how long the post-commit hook
5 takes to run. (The core issue, I guess, is that we're abusing the concept
6 of a "working copy" by giving everybody the same one). Here are the main
7 solutions that I can see: (1) CGI queues commits so that a single process
8 can act upon them sequentially, or (2) optionally divorce the `ikiwiki
9 --refresh` from the `svn commit` so that commits happen faster. -- [[Ben]]
10
11 I'm not aware of web servers, at least apache, killing cgi processes when
12 the user stops a page load. If this is happening ikiwiki should be able to
13 avoid it by blocking whatever signal is causing it to terminate. --[[Joey]]
14
15 Just as an experiment, I tried running ikiwiki using a *remote* repository,
16 i.e. via "svn+ssh".  After setting up the repo and relocating the working copy,
17 unfortunately, it doesn't work; editing a page gives the error:
18
19 Error: no element found at line 3, column 0, byte 28 at /opt/local/lib/perl5/vendor_perl/5.10.1/darwin-multi-2level/XML/Parser.pm line 187
20
21 I *think* this is because, despite a SetEnv directive in the apache configuration,
22 the CGI wrapper is expunging SVN_SSH from the environment (based on perusing
23 the source of Wrapper.pm and looking at "envsave" there at the top).
24 Is this the case?  --Glenn
25
26 > That seems likely. You can edit Wrapper.pm and add `SVN_SSH` to the
27 > `@envsave` list and rebuild your wrappers to test it. --[[Joey]]