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 svnMust be included in any
DirectoryorLocationblock for a Subversion repository. It tells httpd to use the Subversion backend formod_davto handle all requests.SVNAllowBulkUpdates On|Off-
Toggles support for all-inclusive responses to update-style
REPORTrequests. Subversion clients useREPORTrequests 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 theseREPORTrequests 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
GETandPROPFINDrequests in Apache's logs. The default value of this directive isOn. SVNAutoversioning On|OffWhen 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 Onso thatmod_mimecan setsvn:mime-typeto the correct MIME type automatically (as best asmod_mimeis able to, of course). For more information, see Appendix C, WebDAV and Autoversioning. The default value of this directive isOff.SVNPathdirectory-pathSpecifies the location in the filesystem for a Subversion repository's files. In a configuration block for a Subversion repository, either this directive or
SVNParentPathmust be present, but not both.SVNSpecialURIcomponentSpecifies 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!svnin 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.SVNReposNamenameSpecifies the name of a Subversion repository for use in
HTTP GETresponses. 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.SVNIndexXSLTdirectory-pathSpecifies the URI of an XSL transformation for directory indexes. This directive is optional.
SVNParentPathdirectory-pathSpecifies 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
SVNPathmust be present, but not both.SVNPathAuthz On|Off|short_circuitControls 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.SVNListParentPath On|OffWhen set to
On, allows aGETofSVNParentPath, which results in a listing of all repositories under that path. The default setting isOff.SVNMasterURIurlSpecifies a URI to the master Subversion repository (used for a write-through proxy).
SVNActivitiesDBdirectory-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
SVNParentPatharea, 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>
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- Commit
commit harry r100- Diffs
-
diff /path r15:20 depth=infinity ignore-ancestrydiff /path1@15 /path2@20 depth=infinity ignore-ancestry - Fetch a directory
get-dir /trunk r17 text- Fetch a file
get-file /path r20 props- Fetch a file revision
get-file-revs /path r12:15 include-merged-revisions- Fetch merge information
get-mergeinfo (/path1 /path2)- Lock
lock /path steal- Log
log (/path1,/path2,/path3) r20:90 discover-changed-paths revprops=()- Replay revisions (svnsync)
replay /path r19- Revision property change
change-rev-prop r50 propertyname- Revision property list
rev-proplist r34- Status
status /path r62 depth=infinity- Switch
switch /pathA /pathB@50 depth=infinity- Unlock
unlock /path break- Update
update /path r17 send-copyfrom-args



