mod_dav_svn Configuration Directives
Prev | mod_dav_svn—Subversion Apache HTTP Server Module | Next

## 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` or `Location` block for a Subversion repository. It tells httpd to use the Subversion backend for `mod_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 to `Off`.

`SVNAllowBulkUpdates On|Off`

  Toggles support for all-inclusive responses to update-style `REPORT` requests. Subversion clients use `REPORT` 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 of `Off`, mod_dav_svn will only ever respond to these `REPORT` 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` and `PROPFIND` requests in Apache's logs. The default value of this directive is `On`.

`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 set `ModMimeUsePathInfo On` so that `mod_mime` can set `svn:mime-type` to the correct MIME type automatically (as best as `mod_mime` is able to, of course). For more information, see Appendix C, WebDAV and Autoversioning. The default value of this directive is `Off`.

`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 the `SVNInMemoryCacheSize` directive.) The default value of this directive is `Off`.

`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 the `SVNInMemoryCacheSize` directive.) The default value of this directive is `Off`.

`SVNCompressionLevel `level``

  Specifies the compression level used when sending file content over the network. A value of `0` disables compression altogether, and `9` 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 of `0` to deactivate this cache altogether.

`SVNListParentPath On|Off`

  When set to `On`, allows a `GET` of `SVNParentPath`, which results in a listing of all repositories under that path. The default setting is `Off`.

`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 is `On`.

`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.

Prev | Up | Next
mod_dav_svn—Subversion Apache HTTP Server Module | Home | mod_authz_svn—Subversion Apache HTTP Authorization Module