此文本尚在编写中,可能随时更改,可能无法准确描述任何已发布的 Apache™ Subversion® 软件版本。将此页面添加为书签或向他人推荐此页面可能不是一个明智的选择。请访问 https://svnbook.subversion.org.cn/ 获取此书的稳定版本。

高级日志记录

Apache httpdsvnserve Subversion 服务器都支持对 Subversion 操作进行高级日志记录。当然,配置每个服务器选项以提供此级别日志的方式不同,但每个选项的输出都设计为符合统一语法。

要在 svnserve 中启用高级日志记录,您只需在启动服务器时使用 --log-file 命令行选项,并将该选项的值传递给 svnserve 应写入其日志输出的文件。

$ svnserve -d -r /path/to/repositories --log-file /var/log/svn.log

在 Apache 中启用相同功能稍微复杂一些,但本质上是 Apache 库存日志输出配置机制的扩展——请参阅 名为“Apache 日志记录”的部分 以获取详细信息。

以下是 Subversion 的高级日志记录机制生成的 Subversion 操作日志消息列表,后面是一条或多条该日志消息在日志输出中显示的示例。

检出或导出
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=()
重放修订版(svnsync)
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

为了方便希望对 Subversion 高级日志记录输出进行后处理的管理员(也许是为了报告或分析目的),Subversion 源代码发行版提供了一个 Python 模块(位于 tools/server-side/svn_server_log_parse.py),可用于解析 Subversion 的日志输出。

TortoiseSVN 官方中文版 1.14.7 发布