All,

I have been tasked with setting up a mirror of several repositories with 
write-through back to the master.  

We have path based authorization on the master.

The svn book simply states to:

        ... configure each of your "slave" servers in the exact same way, but 
add the special SVNMasterURI directive to the <Location> block.

That works, but seems to require synchronization of the authz information on 
all servers.

What methods have people used to keep them synchronized?

Here is the relavent <Location> configuration:

==============
<Location /sync/>   
   DAV svn
   SVNParentPath "E:/csvn/data/repositories"
   SVNReposName "CollabNet Subversion Repository"

  <IfModule deflate_module>
    SetOutputFilter DEFLATE
  </IfModule>
  
  <RequireAll>
        Require user sync
  </RequireAll>
  AuthzSVNAccessFile "C:\csvn\data/conf/svn_access_file"
  SVNPathAuthz short_circuit
  AuthzForceUsernameCase Lower
</Location>

# Work around authz and SVNListParentPath issue
RedirectMatch ^(/svn)$ $1/
<Location /svn/>   
   DAV svn
   SVNParentPath "E:/csvn/data/repositories"
   SVNReposName "CollabNet Subversion Repository"

  <IfModule deflate_module>
    SetOutputFilter DEFLATE
  </IfModule>
  AuthzSVNAccessFile "C:\csvn\data/conf/svn_access_file"
  SVNPathAuthz short_circuit
  SVNListParentPath On
  AuthzForceUsernameCase Lower
  SVNMasterURI http://192.168.15.18:8080/svn
</Location>
==============

By restricting access on <Location /sync/> to just the user "sync", and the 
SVNMasterURI in <Location /svn/>, is there any major reason not to simply 
remove all path based restrictions on the mirror and let the master perform 
that function so that the authz on the mirror doesn't have to change?

Thanks,

Aaron

Reply via email to