Subversion Multiple Repositories

1 December 2016

  • Initial commit.
########################################################################
# Subversion - multi-repo configuration.                               #
# Sources: http://svnbook.red-bean.com/                                #
# Depends on Apache modules:                                           #
#    dav, dav_svn, authz_svn, dontdothat, alias, auth_digest,          #
#    authn_core, authn_file, authz_core, authz_user                    #
#                                                                      #
########################################################################
 
## The trailing '/' in /svn/ is needed to browse repos with a browser!
RedirectMatch ^(/svn)$ $1/
 
## Tuning:
KeepAlive on
MaxKeepAliveRequests 1000
 
 
# http://subversion.apache.org/docs/release-notes/1.7.html#server-performance-tuning
# Calculate your own values!
# For mod_dav_svn, a 1GB cache configuration with maximum data coverage looks like this 
<IfModule dav_svn_module>
    SVNInMemoryCacheSize 1048576
    SVNCacheFullTexts on
    SVNCacheTextDeltas on
</IfModule>
 
## Multiple Repos with Digest auth:
## - AuthName is an arbitrary name that you choose for the authentication
##   domain. Most browsers display this name in the dialog box when prompting
##   for username and password.
## - AuthType specifies the type of authentication to use.
## - AuthUserFile specifies the location of the password file to use.
##
<IfModule dav_svn_module>
    <Location /svn/>
        <ifModule mime_module>
        	RemoveEncoding  .gz .tgz .Z
        	RemoveType      .gz .tgz .Z
        </ifModule>
 
        ## Enable Subversion
        DAV svn
 
        ## Directory containing all repository for this path
        SVNParentPath /space/svn/
 
        ## List repositories collection
        SVNListParentPath on
 
        ## Disable WebDAV automatic versioning
        SVNAutoversioning off
 
        ## Return a descriptive name for the repository.
        SVNReposName "Project XYZ repo"
 
        ## Anonymous access
        AuthzSVNAnonymous off
 
        ## XSL to display files - sample in subversion share distribution
        # SVNIndexXSLT "/style/svnindex.xsl"
 
        ##
        ## You can use the htdigest program to create the password database:
        ##   htdigest -c "etc/apache24/svn-auth.passwd" SVN-repo admin
        ##
        ## Authentication: Digest
        AuthType Digest
        AuthName "SVN repositories"
        AuthDigestProvider file
        AuthDigestDomain /svn/ http://mirror.my.dom/svn2/
        AuthUserFile etc/apache24/svn-auth.passwd
        ## Authentication: Basic
        # AuthType Basic
        # AuthName AuthName "SVN repositories"
        # AuthUserFile etc/apache24/svn-auth.passwd
 
        ## Authorization: Allow anonymous to read but only valid users may write.
        <LimitExcept GET PROPFIND OPTIONS REPORT>
                Require valid-user
        </LimitExcept>
 
        ## Do not limit large update requests
        LimitXMLRequestBody 0
    </Location>
</IfModule>