记录对SVN的读访问权限?

时间:2009-09-12 06:21:13

标签: svn

有没有办法记录对svn repo的读访问?任何可以执行此操作的SVN配置(或工具/脚本)?

我找到了svn-access-manager,但不确定它是否记录了访问权限。此外,它需要一个mysql / apache设置。写入文件的东西会很好。

谢谢!

4 个答案:

答案 0 :(得分:8)

记录仅在apache中可用。在apache中,您可以将隐秘的access.log与每个WebDAV-Request一起使用,也可以使用更多svn特定的日志:

要启用仅记录subversion操作的日志,请将此外部指令置于您的位置:

CustomLog logs/svn_logfile "%t %u %{SVN-ACTION}e" env=SVN-ACTION

在此查看更多详情:

http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.serverconfig.httpd.extra.logging

有关logfile中可用的apache变量的更多信息: http://httpd.apache.org/docs/2.0/mod/mod_log_config.html#formats

答案 1 :(得分:5)

虽然它是一个非常古老的问题,但作为svn访问日志解决方案从未提出,问题永远不会被关闭,这里的解决方案与Apache无关。

在服务器启动脚本中使用--logfile选项,可以获取所有访问日志。日志包括时间,IP地址,存储库,用户和命令(日志,更新,提交等)。

usr / bin / svnserve -d --listen-port = $ SVN_PORT --log-file $ SVN_LOG_FILE --pid-file = $ SVN_PIDFILE

这是所有存储库的全局日志,但您始终可以基于存储库进行过滤。 当您使用svn协议访问存储库时,它将记录。

我希望这会有所帮助。

答案 2 :(得分:4)

Apache的日志就是你想要的。 Subversion本身不会单独记录访问。

答案 3 :(得分:0)

Apache access.log似乎有我想要的东西。不确定是否有更好的选择。在结束问题之前会等待一段时间的建议。