Name

mod_dav_svn Configuration Directives — Apache configuration directives for serving Subversion repositories through Apache HTTP Server.

Description

This section briefly describes each of the Subversion Apache configuration directives. For an in-depth description of configuring Apache with Subversion, see the section called “httpd, the Apache HTTP server”.)

Directives

DAV svn

This directive 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.

SVNAutoversioning On

This directive 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

SVNPath

This directive 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.

SVNSpecialURI

Specifies the URI component (namespace) for special Subversion resources. The default is “!svn”, and most administrators will never use this directive. Only set this 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.

SVNReposName

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.

SVNIndexXSLT

Specifies the URI of an XSL transformation for directory indexes. This directive is optional.

SVNParentPath

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.

SVNPathAuthz

Control path-based authorization by enabling or disabling subrequests. See the section called “Disabling Path-based Checks” for details.

SVNListParentPath

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

Specifies a URI to the master Subversion repository (used for a write-through proxy).

SVNActivitiesDB

Specifies the location in the filesystem where the activities database should be stored.

High Level Logging

This is a list of Subversion action log messages produced by Apache's high-level logging mechanism, followed by an example of the log message. See the section called “Apache Logging” for details on logging.

Checkout or export

checkout-or-export /path r62 depth-infinity

Status

remote-status /path r62 depth-infinity

Commit

commit /path r100

Diff or merge

diff-or-merge /path r20:90

Switch

switch /pathA@20 /pathB@50

List

list-dir /path r85

Log

log /path1,/path2,/path3 r20:90 svn:log,svn:author or

log-merge-sensitive /path1,/path2,/path3 r20:90 svn:log,svn:author

Lock

lock /path

Unlock

unlock /path

Blame

blame /path r20:90 or blame-merge-sensitive /path r20:90

Revision-property change

revprop-change r50 propertyname

Fetching of merge information

get-mergeinfo /path or get-mergeinfo-partial /path

Replaying of revisions (svnsync)

replay /path r19