I’ve been using Subversion heavily lately to keep my live and development sites synchronized and its been a huge productivity booster. I had to move some code over to a lite site for work this evening and it was such a pain, because I had to go through and figure out the files I needed to copy. With svn, or even cvs, I could use tags and then an update and let the computer do the grunt work. Instead it was a 15 minute task and i broke the site twice due to missing dependencies.
Then, I wanted to do a quick update to soccerblogs.net, and needed to pull in code from another project within the repository using the svn:externals property. I set the property and committed it, then when I tried to update my local development copy, the svn client would fail. I had the following lines in my apache error log:
[Wed Feb 14 00:20:32 2007] [error] [client 126.96.36.199] client denied by server configuration: <PATH TO SVN>
The svn client would complaing about "PROPFIND: 403 Unauthorized". I triple cheked my apache+svn configuration, and I could browse my repository just fine in a web browser. It turns out that if you have mod_evasive installed, the access pattern from svn can look like a denial-of-service attack to it, so it blocks with a 403. Disabling mod_evasive did the trick – and I didn’t really need it anyway. None of the English language google results mentioned this, but this one in Spanish had it. Sometimes, being bilingual pays off.