September 13, 2006

Subversion, Apache, Mac OS X 10.4

I have a PowerPC-based Mac mini that, among other things, is a Subversion server. The repository lives on an external FireWire drive. Initially, the server was set up using svnserve started from xinetd. This works well enough, although I never quite got the svn+ssh thing to work. I decided to switch to using apache instead of svnserve. It turns out that Apple had posted some decent instructions, which work well enough. Note that Apple references older versions of both Apache and Subversion. I downloaded the Apache httpd-2.2.3 and Subversion 1.4.0 sources, and following the instructions, was able to build both for the Mac mini.

After an svnadmin dump and reload (to take advantage of the new svndiff format), I set pointed my browser to the URL of my repo and saw everything.

Next, I was able to see the repo from my Mac Book Pro, which was still running Subversion 1.3.2. I copied the source tarball to the MBP, ran the configure script, built and installed the new svn. svn --version told me I was running 1.4.0. So a simple test: the

$ svn ls

returned an odd error: "Unrecognized URL scheme." Weird. Some web searches indicated that something was up with ra_dav not being loaded, and doing a

$ svn --version

confirmed it: ra_local and ra_svn were available but not ra_dav. So I did the reconfigure and rebuild thing, and during configure, I noticed that there was a comment about "can't find neon." A quick web search for "neon subversion" lead to the neon homepage, so I downloaded the latest and greatest. Buried within the subversion configure script output was a note about "get neon-0.25.5.tar.gz, unzip/tar it into the subversion source directory, and rename it to neon." I did that, reconfigured, and then got a complaint: turns out that the latest/greatest neon is 0.26.1, and Subversion really wanted 0.25.5. I downloaded the correct version of neon, put it in the right place, and reconfigured. There was no complaint about neon, so I did a make and a sudo make install, and voila! I was able to access the repo using the http protocol. Yippeee!!!

Posted by Andy at September 13, 2006 02:00 AM