Two mistakes regarding Subversion
Subversion is a source code control system developed under an open license with the declared purpose to replace the standard open system used these days, CVS.
I decided to put it to the test as an extension to the Apache web server. The regular distribution of the svn server include the Apache plugin, which had to be copied in the Apache modules folder. The installation guide explains what configuration files have to be edited in order to have it loaded with Apache.
The first trouble was a forced mistake. I created a folder for source code repositories and then I tried to access it with the browser and with svn clients. After half an hour of failures I traced the HTTP/HTTPS requests in Apache’s log. The svn clients were asking for a "format" file in the root of the repository folder. This file had to be created, because Apache modules were unable to create it. It turned out that the initial structure inside the folder should be created from the beginning using the command line program included for administration purposes in the svn server. Unfortunately, the aforementioned installation guide didn’t set it clear. In fact, this initialization wasn’t even mentioned in Subversion Book.
(It is horrible to see a web-enabled application is administered only through a command line.)
The second error was a special one. After some weeks, whenever I tried to start Apache, it failed. The output, as caught in the application Event Log and as displayed by Apache -t command line, which tests the installation, was that in a line of the "httpd.conf" I had an error. That line was OK, it was a directive for Apache to load a module, "mod_dav_svn.so", part of the Subversion server. The module was in place, but it failed to load because, as I saw in Dependency Walker, it depended on a DLL file which was not found. It was a common mistake and googling a bit for this error message returned lots of people having this problem and none receiving a helpful reply. The cure: don’t forget to include the "bin" folder of your Subversion installation in the PATH environment variable, otherwise "mod_dav_svn.so" won’t be able to work, Apache won’t be able to load it and it will fail to start.