3

有一个使用 Apache 作为前端的颠覆服务器。我在我的 VirtualHost 部分打开了自定义日志记录:

CustomLog /var/log/svn/webdav.log "%t %u repo:%{SVN-REPOS-NAME}e action:%{SVN-ACTION}e (%B Bytes in %T Sec)" env=SVN-ACTION

当我使用SVN客户端时,在webdav.log中可以看到如下操作:

action:checkout-or-export
action:commit

但是,如果我使用网络浏览器浏览存储库,则不会记录任何内容。即使我通过 ?p=revision_number 请求精确修订,在访问日志中也只有标准的 GET 请求(这意味着我肯定在处理 dav_svn Apache 模块)

为什么会这样?使用 svn-client 和普通浏览器行为有什么区别?

4

1 回答 1

2

SVN 客户端正在将 WebDAV 与您的服务器通信:他发送 PROPFIND、PROPGET 等消息以从 SVN 存储库中检索大量信息:最后更改的修订版、最后作者等。

浏览器只是询问一个 GET-HTTP 命令。严格来说,这不是真正的 SVN 动作。您只是查看存储库的某些部分。您可以下载单个文件或列出目录。但是就 SVN 而言,您无法做任何有意义的事情。

所以这不会进入日志文件,因为没有对应的 SVN Action。

于 2012-09-21T09:56:35.287 回答