Saturday, 4 January 2014

Cluster/Partitioning of SVN Root

Partitioning of SVN Repository location 

There could be need in an organization to have subversion repositories for multiple business group or verticals, But at the same time they should be very well partitioned and should not look at each others repos. This means you need separate repo area for each business unit.

This can be done in 2 ways, either you can install separate SVN for each Business unit and handle the authentication according to their need OR you can use cluster management and
partition the different repo area for each verticals.

Here is the example to achieve above goal via partitioning.

  • First you will have to identify the data area for repo for each Business unit (BU). lets assume its /opt/svnroot/<BU>
  • modify your apache httpd config file like below

LoadModule dav_svn_module     modules/

#xyz Repository configuration
<Location /xyz>
   DAV svn
   SVNParentPath /opt/svnroot/xyz
#abc Repository configuration
<Location /abc>
   DAV svn
   SVNParentPath /opt/svnroot/abc

xyz and abc are the different location of your svnroot to make partition between repositories. I haven't added any authentication configuration here, But you can add above entry in one apache conf and use different auth mechenism accourding to the BU needs.
Ldap auth configuration was mentioned in my previous svn installation blog