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.
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
.
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.
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.
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.
SVNIndexXSLT
directory-path
Specifies the URI of an XSL transformation for directory indexes. This directive is optional.
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.
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
.
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).
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>
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 /path r62
depth=infinity
commit harry r100
diff /path r15:20 depth=infinity ignore-ancestry
diff /path1@15 /path2@20 depth=infinity ignore-ancestry
get-dir /trunk r17 text
get-file /path r20 props
get-file-revs /path r12:15 include-merged-revisions
get-mergeinfo (/path1 /path2)
lock /path steal
log (/path1,/path2,/path3) r20:90
discover-changed-paths revprops=()
replay /path r19
change-rev-prop r50
propertyname
rev-proplist r34
status /path r62
depth=infinity
switch /pathA /pathB@50 depth=infinity
unlock /path break
update /path r17 send-copyfrom-args