名称

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

描述

这个小节主要描述了Subversion Apache配置的每个指示,关于Apache配置Subversion的更多信息见“httpd, 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>

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 “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-ancestry

diff /path1@15 /path2@20 depth=infinity ignore-ancestry

Fetching a directory

get-dir /trunk r17 text

Fetch a file

get-file /path r20 props

Fetch file revision

get-file-revs /path r12:15 include-merged-revisions

Fetching of merge information

get-mergeinfo (/path1 /path2)

Lock

lock /path steal

Log

log (/path1,/path2,/path3) r20:90 discover-changed-paths revprops=()

Replaying of revisions (svnsync)

replay /path r19

Revision property change

change-rev-prop r50 propertyname

Revision property list

rev-proplist r34

状态

remote-status /path r62 depth=infinity

Switch

switch /pathA /pathB@50 depth=infinity

Unlock

unlock /path break

更新

update /path r17 send-copyfrom-args