4

I have been trying to set up Apache to access subversion repositories such that:

  • Makes use of repository collections, i.e. SVNParentPath points to a folder containing repositories.
  • Uses SVNMasterURI to transparently proxy commits to a master server.

My initial attempt was like this:

<Location "/collection">
    DAV svn
    SVNParentPath /path/to/collection
    SVNMasterURI http://master/collection
    SVNListParentPath on
    AuthzForceUsernameCase Lower
    AuthzSVNAccessFile /path/to/access-file
</Location>

With this configuration, the transparent proxy commits work as intended. However, when I try to browse to http://svn-server/collection/ i get 403 Forbidden and the error log contains The URI does not contain the name of a repository..

Trailing slashes seems to have great importance here, so after trying out all combinations of trailing slash on Location, SVNParentPath and SVNMasterURI I have found that:

  • For SVNListParentPath to work, Location must have a trailing slash.
  • For SVNMasterURI to work, Location must not have a trailing slash.

All of this is on Ubuntu 12.04, Apache 2.2.22, mod_dav_svn 1.6.17dfsg-3ubuntu3.

My question is:

Is there a way to use SVNListParentPath and SVNMasterURI at the same time?

Community
  • 1
  • 1
Anders Lindahl
  • 41,582
  • 9
  • 89
  • 93
  • Have you had any luck with this? I have the same use case and would be very interested in a solution/workaround. – spikeheap Jul 29 '13 at 14:42
  • 1
    I'm afraid not, my workaround was to add a simple script that does the repository list rendering when browsing to `http://svn-server/collection/`. – Anders Lindahl Jul 30 '13 at 05:23

1 Answers1

2

If that's an option for you, upgrade Subversion, and mod_dav_svn, to version 1.8.10, or later. The "trailing slash bug" has been fixed in the meantime, and SVNListParentPath works fine with <location /collection>.

I can confirm, that SVNMasterURI is very sensitive to <location>. Make sure that the path is the same in master, and slaves repositories.

Thomas G.
  • 61
  • 7