0
votes

I am having the exact same problem the below person reported but sadly the solution there is not working for me. I have multiple subversion repositories all under a common parent directory. I've installed CollabNet Subversion Edge 2.0.0 (for Solaris 10 / SPARC ) and left most defaulted out-of-the-box. I then svnadmin load'ed the repositories (they were dumped from a server on an isolated network). The users can check out individual repositories via TortoiseSVN O.K. but when they try to use the TortoiseSVN repository browser, it gives the infamous "repository moved permanently" error. I have checked and the Apache DocRoot and Subversion repository directories do not overlap, which seems to be the common cause of this problem. The repositories are under /opt/csvn/data and the Apache docroot is /opt/csvn/www. Below is the I believe relevant configuration file. It is acting like SVNParentPath isn't working. I can view the repositories via Firefox (after it authenticates) which I assume means Apache is serving that directory instead of DAV? If I telnet to port 80 and "GET /svn" it returns the 302 error. If I telnet to port 80 and "GET /svn/" I get a 401 (Authorization Required). I've tried both "Location /svn/" and "Location /svn" in svn_viewvc_httpd.conf but that didn't help.

Very similar problem here:
Repository Browser Only - "Repository moved permanently to… please relocate”

svn_viewvc_httpd.conf file:

subversion # cat svn_viewvc_httpd.conf
#
#
# DO NOT EDIT THIS FILE IT WILL BE REGENERATED AUTOMATICALLY BY SUBVERSION EDGE
#
# If you must make a change to the contents of this file then copy and paste the
# content into the httpd.conf file and comment out the Include statement for
# this file. The httpd.conf file is not modified or generated and is safe for
# you to modify.
#
#

Include "/opt/csvn/data/conf/ctf_httpd.conf"

# SSL is off
LoadModule python_module lib/modules/mod_python.so.2.4

# Work around authz and SVNListParentPath issue
RedirectMatch ^(/svn)$ $1/
<Location /svn/>
   DAV svn
   SVNParentPath "/opt/csvn/data/repositories"
   SVNReposName "CollabNet Subversion Repository"
  AuthzSVNAccessFile "/opt/csvn/data/conf/svn_access_file"
  SVNListParentPath On
  Allow from all
  AuthType Basic
  AuthName "CollabNet Subversion Repository"
  AuthBasicProvider csvn-file-users
  Require valid-user
</Location>

<Directory "/opt/csvn/www/viewvc/docroot">
  AllowOverride None
  Options None
  Order allow,deny
  Allow from all
</Directory>
Alias /viewvc-static "/opt/csvn/www/viewvc/docroot"

ScriptAlias /viewvc "/opt/csvn/bin/mod_python/viewvc.py"

<Location /viewvc>
  SetHandler mod_python
  PythonDebug on
  AddDefaultCharset UTF-8
  SetEnv CSVN_HOME "/opt/csvn"

  PythonPath "[r'/opt/csvn/lib', r'/opt/csvn/bin/mod_python', r'/opt/csvn/lib/viewvc']+sys.path"
  PythonHandler handler
  Allow from all
  AuthType Basic
  AuthName "CollabNet Subversion Repository"
  AuthBasicProvider csvn-file-users
  Require valid-user
</Location>

Thanks in advance. I've spent several hours on this today and maybe I'm just missing the obvious.

1
Did you try to remove the RedirectMatch directive?aquaherd
Yes, I did try commenting out the "RedirectMatch ^(/svn)$ $1/" line. When I do that, the TortoiseSVN repo-browser seems to receive a "200 OK" whether I use the trailing slash or not. I assume it isn't expecting to receive an httpd return code so it just displays it. When I open it in Firefox without the trailing slash, I get a 404, but with the trailing slash, I get the HTML "Collection of Repositories" page. Thanks for asking.user980744

1 Answers

0
votes

First, remove the RedirectMatch ^(/svn)$ $1/ line.

Then: you can not browse the location /svn or /svn/ since in your setup, that location is a simple http page, not a real repository. You can only browse that url in your normal webbrowser, but not with the TSVN repository browser.

Also have a look at this FAQ entry.