This documentation was written to describe the 1.7.x series of Apache™ Subversion®. If you are running a different version of Subversion, you are strongly encouraged to visit http://www.svnbook.com/ and instead consult the version of this documentation appropriate for your version of Subversion.
mod_dav_svn Configuration Directives — Apache configuration directives for serving Subversion repositories through the Apache HTTP Server.
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”.
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.