Linux – Subversion error: Repository moved permanently to please relocate

apache-2.2linuxsvn

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.

Related Topic