I've set up subversion and apache on my server.
If I browse to it through my webbrowser it works fine (http://svn.host.com/reposname).
However, if I do a checkout on my machine I get the following error:
Command: Checkout from http://svn.host.com/reposname, revision HEAD, Fully recursive, Externals included
Error: Repository moved permanently to 'http://svn.host.com/reposname/'; please relocate
I checked apache's error log, but it doesn't say anything. (it does now – see edit)
My repositories are stored under:
/var/www/svn/repos/
My website is stored under:
/var/www/vhosts/x/…
Here's the conf file for the subdomain:
<Location />
DAV svn
SVNParentPath /var/www/svn/repos/
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /var/www/svn/auth/svn.htpasswd
Require valid-user
</Location>
Authentication works fine.
Does anyone know what might be causing this?
— Edit
So I restarted apache (again) and tried it again and now it give me an error message, but it doesn't really help. Anyone have an idea what it means?
[Wed Mar 31 23:41:55 2010] [error] [client my.ip.he.re] Could not fetch resource information. [403, #0]
[Wed Mar 31 23:41:55 2010] [error] [client my.ip.he.re] (2)No such file or directory: The URI does not contain the name of a repository. [403, #190001]
— Edit 2
If I do svn info
it doesn't give anything usefull:
[root@server domain.com]# svn info http://svn.domain.com/repos/
Username: username
Password for 'username':
svn: Repository moved permanently to 'http://svn.domain.com/repos/'; please relocate
I also tried doing a local checkout (svn checkout file:///var/www/svn/repos/reposname
) and that works fine (also adding / commiting works fine). So it seems is has something to do with apache.
Some other information:
- I'm running CentOs 5.3
- Plesk 9.3
- Subversion, version 1.6.9 (r901367)
— Edit 3
I tried moving the repositories, but it didn't make any difference.
selinux is disabled so that isn't it either.
Best Answer
I had this recently... but it turned out I had forgotten the url :)
One thing you must do is ensure your svn Location does not overlap any apache-servable websites. ie, if you set your DocumentRoot to be /www, and your svn Location to be /www/svn... then you're in trouble - Apache won't know what its supposed to be served with (ie the svn special handlers, or a straight http handler).
See the FAQ entry for this.