“Could not open the requested SVN filesystem”
Sometimes problems happen.
Sometimes problems happen when you install svn with apache 2 and dav.
Sometimes after installing all the binaries and editing your apache configuration file (and, naturally, restart apache), you get the following error:
svn: Could not open the requested SVN filesystem
Sometimes this happens.
Usually it means “lol, you need to chown/chgrp the repos to your apache’s user”. Usually. And because this is the usual case, that’s what all the googles I check suggested.
However, it bears mention that I’m, in fact, somewhat experienced at this point in Linux administration. I chown. That’s not even a pun.
The rub is that’s a catch-all for any read problems. The error in my case was “lol, you’re pointing to the wrong directory with the wrong directive, noob.”
To wit, I was using (in my apache configuration file):
<Location /svn> DAV svn SVNPath /repos/svn #... </Location>
…when I actually wanted…
<Location /svn> DAV svn SVNParentPath /repos/svn #... </Location>
I wanted SVNParentPath because it was a directory containing many repositories, instead of a single repository. How simple. Yet, while doing 2 am hungover-style administration, somewhat frustrating.
An aside about Linux paths and URLs
This conf snip is a good example of something I find
frustrating annoying understandable-but-sometimes-confusing. Unix filesystem paths, like http urls, use the forward-slash (/) instead of the backslash (\). This conflation of slashing makes them look like each other in configuration files. This mainly becomes an issue for neophytes tinkering with apache for the first (and perhaps subsequent) times.
For example, in the above conf-snippets, the /svn refers to http://www.verge-rpg.com/svn, a Location defined in apache saying “hey, I exist to teh internots!”
Meanwhile, /repos/svn refers to a folder on the server’s filesystem. It can be easy to think, in this context, that something might be at http://www.verge-rpg.com/repos/svn on the internet.
Anyone with any small grasp of the nature of what’s going on in this task will be able to separate the two mentally, since here’s we’re trying to make a bridge between clients via the internet and the svn repo files on the server, but the slashy-syntax can lead to confusion. I know back when I was a young adminling unwrapping his first local development install of apache this stuff caused no end of heartache and strife.
Anyway, I’m not saying MS-style backward-slashes are better. In fact, they have their own brand of obnoxiousness in the form of unintended escape sequences. But in this instance, backslashes would highlight the difference between a webpath and a filepath.
This digression is what happens when someone likes aphorisms and being long-winded.