This documentation was written to describe the 1.7.x series of Apache™ Subversion®. If you are running a different version of Subversion, please visit the svnbook index and choose the version of this documentation appropriate for your your version of Subversion.
Name
mod_dav_svn Configuration Directives — Apache configuration directives for serving Subversion repositories through the Apache HTTP Server.
Description
This section briefly describes each Subversion Apache configuration directive. For an in-depth description of configuring Apache with Subversion, see the section called “httpd, the Apache HTTP Server”.
Directives
These are the httpd.conf
directives
that apply to mod_dav_svn:
-
DAV svn
-
Must be included in any
Directory
orLocation
block for a Subversion repository. It tells httpd to use the Subversion backend formod_dav
to handle all requests. -
SVNActivitiesDB
directory-path
-
Specifies the location in the filesystem where the activities database should be stored. By default, mod_dav_svn creates and uses a directory in the repository called
dav/activities.d
. The path specified with this option must be an absolute path.If specified for an
SVNParentPath
area, mod_dav_svn appends the basename of the repository to the path specified here. For example:<Location /svn> DAV svn # any "/svn/foo" URL will map to a repository in # /net/svn.nfs/repositories/foo SVNParentPath "/net/svn.nfs/repositories" # any "/svn/foo" URL will map to an activities db in # /var/db/svn/activities/foo SVNActivitiesDB "/var/db/svn/activities" </Location>
-
SVNAdvertiseV2Protocol On|Off
-
New to Subversion 1.7, this toggles whether mod_dav_svn advertises its support for the new version of its HTTP protocol also introduced in that version. Most admins will not wish to use this directive (which is
On
by default), choosing instead to enjoy the performance benefits that the new protocol offers. However, whena configuring a server as a write-through proxy to another server which does not support the new protocol, set this directive's value toOff
. -
SVNAllowBulkUpdates On|Off
-
Toggles support for all-inclusive responses to update-style
REPORT
requests. Subversion clients useREPORT
requests to get information about directory tree checkouts and updates from mod_dav_svn. They can ask the server to send that information in one of two ways: with the entirety of the tree's information in one massive response, or with a skelta (a skeletal representation of a tree delta) which contains just enough information for the client to know what additional data to request from the server. When this directive is included with a value ofOff
, mod_dav_svn will only ever respond to theseREPORT
requests with skelta responses, regardless of the type of responses requested by the client.Most folks won't need to use this directive at all. It primarily exists for administrators who wish—for security or auditing reasons—to force Subversion clients to fetch individually all the files and directories needed for updates and checkouts, thus leaving an audit trail of
GET
andPROPFIND
requests in Apache's logs. The default value of this directive isOn
. -
SVNAutoversioning On|Off
-
When its value is
On
, allows write requests from WebDAV clients to result in automatic commits. A generic log message is auto-generated and attached to each revision. If you enable autoversioning, you'll likely want to setModMimeUsePathInfo On
so thatmod_mime
can setsvn:mime-type
to the correct MIME type automatically (as best asmod_mime
is able to, of course). For more information, see Appendix C, WebDAV and Autoversioning. The default value of this directive isOff
. -
SVNCacheFullTexts On|Off
-
When set to
On
, this tells Subversion to cache content fulltexts if sufficient in-memory cache is available, which could offer a significant performance benefit to the server. (See also theSVNInMemoryCacheSize
directive.) The default value of this directive isOff
. -
SVNCacheTextDeltas On|Off
-
When set to
On
, this tells Subversion to cache content deltas if sufficient in-memory cache is available, which could offer a significant performance benefit to the server. (See also theSVNInMemoryCacheSize
directive.) The default value of this directive isOff
. -
SVNCompressionLevel
level
-
Specifies the compression level used when sending file content over the network. A value of
0
disables compression altogether, and9
is the maximum value.5
is the default value. -
SVNIndexXSLT
directory-path
-
Specifies the URI of an XSL transformation for directory indexes. This directive is optional.
-
SVNInMemoryCacheSize
size
-
Specifies the maximum size (in kbytes) per process of Subversion's in-memory object cache. The default value is
16384
; use a value of0
to deactivate this cache altogether. -
SVNListParentPath On|Off
-
When set to
On
, allows aGET
ofSVNParentPath
, which results in a listing of all repositories under that path. The default setting isOff
. -
SVNMasterURI
url
-
Specifies a URI to the master Subversion repository (used for a write-through proxy).
-
SVNParentPath
directory-path
-
Specifies the location in the filesystem of a parent directory whose child directories are Subversion repositories. In a configuration block for a Subversion repository, either this directive or
SVNPath
must be present, but not both. -
SVNPath
directory-path
-
Specifies the location in the filesystem for a Subversion repository's files. In a configuration block for a Subversion repository, either this directive or
SVNParentPath
must be present, but not both. -
SVNPathAuthz On|Off|short_circuit
-
Controls path-based authorization by enabling subrequests (
On
), disabling subrequests (Off
; see the section called “Disabling path-based checks”), or querying mod_authz_svn directly (short_circuit
). The default value of this directive isOn
. -
SVNReposName
name
-
Specifies the name of a Subversion repository for use in
HTTP GET
responses. This value will be prepended to the title of all directory listings (which are served when you navigate to a Subversion repository with a web browser). This directive is optional. -
SVNSpecialURI
component
-
Specifies the URI component (namespace) for special Subversion resources. The default is
!svn
, and most administrators will never use this directive. Set this only if there is a pressing need to have a file named!svn
in your repository. If you change this on a server already in use, it will break all of the outstanding working copies, and your users will hunt you down with pitchforks and flaming torches.