mod_dav_svn
Configuration Directives — Apache configuration
directives for serving Subversion repositories through the
Apache HTTP Server.
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.
SVNAllowBulkUpdates On|Off
This directive 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
This directive, when its value is
on
, allows write requests from
WebDAV clients to result in automatic commits. A
generic log message is autogenerated 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 附录 C, WebDAV和自动版本. The default value of this
directive is off
.
SVNPath
directory-path
这个指示指定Subversion版本库文件文件系统的位置,在一个Subversion版本库的配置块里,必须提供这个指示或SVNParentPath
,但不能同时存在。
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
指定Subversion版本库在HTTP GET
请求中使用的名字,这个值会作为所有目录列表(当你用web浏览器察看Subversion版本库时会看到)的标题,这个指示是可选的。
SVNIndexXSLT
directory-path
目录列表所使用的XSL转化的URI,这个指示可选。
SVNParentPath
directory-path
指定子目录会是版本库的父目录在文件系统的位置,在一个Subversion版本库的配置块里,必须提供这个指示或SVNPath
,但不能同时存在。
SVNPathAuthz
file-path
控制开启和关闭路径为基础的授权,更多细节见“Disabling path-based checks”一节。
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 “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
remote-status /path r62
depth=infinity
switch /pathA /pathB@50 depth=infinity
unlock /path break
update /path r17 send-copyfrom-args