本文档旨在描述 Apache™ Subversion® 的 1.7.x 系列。如果您运行的是其他版本的 Subversion,强烈建议您访问 https://svnbook.subversion.org.cn/ 并查阅适合您 Subversion 版本的文档。

名称

mod_dav_svn 配置指令 — 通过 Apache HTTP 服务器提供 Subversion 存储库的 Apache 配置指令。

描述

本节简要介绍每个 Subversion Apache 配置指令。有关使用 Subversion 配置 Apache 的详细说明,请参阅 名为“httpd,Apache HTTP 服务器”的部分

指令

这些是适用于 mod_dav_svnhttpd.conf 指令。

DAV svn

必须包含在 Subversion 存储库的任何 DirectoryLocation 块中。它告诉 httpd 使用 Subversion 后端,让 mod_dav 处理所有请求。

SVNActivitiesDB directory-path

指定在文件系统中存储活动数据库的位置。默认情况下,mod_dav_svn 在存储库中创建一个名为 dav/activities.d 的目录并使用它。使用此选项指定的路径必须是绝对路径。

如果为 SVNParentPath 区域指定,mod_dav_svn 会将存储库的基名追加到此处指定的路径。例如

<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

Subversion 1.7 中的新功能,它切换 mod_dav_svn 是否会宣传其对该版本中引入的新版 HTTP 协议的支持。大多数管理员不希望使用此指令(默认情况下为 On),而是选择享受新协议带来的性能优势。但是,当将服务器配置为通过不支持新协议的另一台服务器进行直通代理时,请将此指令的值设置为 Off

SVNAllowBulkUpdates On|Off

该指令控制是否支持对更新风格的 REPORT 请求进行全包响应。Subversion 客户端使用 REPORT 请求从 mod_dav_svn 获取有关目录树检出和更新的信息。它们可以要求服务器以两种方式之一发送该信息:将整个树的信息包含在一个巨大的响应中,或者使用一个 skelta(树增量的骨架表示),其中只包含足够的信息让客户端知道需要从服务器请求哪些 额外 数据。当该指令包含值为 Off 时,mod_dav_svn 将始终仅使用 skelta 响应来响应这些 REPORT 请求,而不管客户端请求的响应类型。

大多数人根本不需要使用此指令。它主要存在于希望(出于安全或审计原因)强制 Subversion 客户端单独获取更新和检出所需的所有文件和目录的管理员,从而在 Apache 的日志中留下 GETPROPFIND 请求的审计跟踪。此指令的默认值为 On

SVNAutoversioning On|Off

当其值为 On 时,允许来自 WebDAV 客户端的写入请求导致自动提交。一个通用的日志消息会自动生成并附加到每个修订版。如果启用自动版本控制,您可能需要设置 ModMimeUsePathInfo On,以便 mod_mime 可以自动将 svn:mime-type 设置为正确的 MIME 类型(当然,只要 mod_mime 能够做到)。有关更多信息,请参见 附录 C,WebDAV 和自动版本控制。此指令的默认值为 Off

SVNCacheFullTexts On|Off

当设置为 On 时,这告诉 Subversion 在有足够的内存缓存可用时缓存内容全文,这可以为服务器带来显著的性能提升。(另请参见 SVNInMemoryCacheSize 指令。)此指令的默认值为 Off

SVNCacheTextDeltas On|Off

当设置为 On 时,这会告诉 Subversion 在有足够的内存缓存可用时缓存内容增量,这可以为服务器提供显著的性能优势。(另请参见 SVNInMemoryCacheSize 指令。)此指令的默认值为 Off

SVNCompressionLevel level

指定在网络上传输文件内容时使用的压缩级别。值为 0 表示完全禁用压缩,而 9 是最大值。 5 是默认值。

SVNIndexXSLT directory-path

指定目录索引的 XSL 转换的 URI。此指令是可选的。

SVNInMemoryCacheSize size

指定 Subversion 内存对象缓存每个进程的最大大小(以 KB 为单位)。默认值为 16384;使用值为 0 的值可以完全停用此缓存。

SVNListParentPath On|Off

当设置为 On 时,允许对 SVNParentPath 进行 GET 操作,这将导致列出该路径下的所有存储库。默认设置为 Off

SVNMasterURI url

指定主 Subversion 存储库的 URI(用于直写代理)。

SVNParentPath directory-path

指定文件系统中父目录的位置,其子目录是 Subversion 存储库。在 Subversion 存储库的配置块中,必须存在此指令或 SVNPath,但不能同时存在。

SVNPath directory-path

指定文件系统中 Subversion 存储库文件的位置。在 Subversion 存储库的配置块中,必须存在此指令或 SVNParentPath,但不能同时存在。

SVNPathAuthz On|Off|short_circuit

通过启用子请求 (On)、禁用子请求 (Off;请参见 名为“禁用基于路径的检查”的部分) 或直接查询 mod_authz_svn (short_circuit) 来控制基于路径的授权。此指令的默认值为 On

SVNReposName name

指定 Subversion 存储库的名称,用于 HTTP GET 响应。此值将附加到所有目录列表的标题(当您使用 Web 浏览器导航到 Subversion 存储库时提供)。此指令是可选的。

SVNSpecialURI component

指定特殊 Subversion 资源的 URI 组件(命名空间)。默认值为 !svn,大多数管理员永远不会使用此指令。仅当迫切需要在存储库中拥有名为 !svn 的文件时才设置此值。如果您在已在使用的服务器上更改此值,它将破坏所有未完成的工作副本,并且您的用户将手持干草叉和燃烧的火炬追捕您。

TortoiseSVN 官方中文版 1.14.7 发布