使用SVN和HTTP协议访问SVN存储库

时间:2013-12-04 20:19:18

标签: svn

我正在尝试使用HTTP协议访问我在本地计算机上创建的SVN存储库(使用svnadmin),但我无法确定URL。我需要提供额外的配置来访问它作为HTTP吗?我使用SVN协议访问它没有问题。我只是想做一些性能调整并比较协议。有任何想法吗?用于创建回购的命令如下。

存储库创建和服务器启动命令:

$cd
$svnadmin create my-repository
$svnserve -d -r /Users/myusername

SVN:

$ svn info svn://localhost/my-repository
Path: my-repository
URL: svn://localhost/my-repository
Relative URL: ^/
Repository Root: svn://localhost/my-repository
Repository UUID: 2de7b13c-0139-45f6-a121-4d8cc6918849
Revision: 86
Node Kind: directory
Last Changed Rev: 86
Last Changed Date: 2013-12-04 11:58:03 -0800 (Wed, 04 Dec 2013)

HTTP:

$ svn info http://localhost/my-repository
svn: E120108: Unable to connect to a repository at URL 'http://localhost/my-repository'
svn: E120108: Error running context: The server unexpectedly closed the connection.

1 个答案:

答案 0 :(得分:3)

您需要setup Apache httpd with mod_dav_svn

一般情况下,svnserve会比httpd更快。 httpd更受欢迎,因为最初svnserve不支持加密,除非通过ssh隧道(现在通过SASL),并且它不支持几乎同样多的身份验证方法(SASL支持再次改变了这一点)。

httpd具有svnserve的唯一主要功能是不能直接使用Web浏览器浏览存储库(请注意,这与使用viewvc浏览时不同)。

httpd的一个好处是,由于它使用HTTP,因此通常无需特殊配置即可通过防火墙。它也可以代理(允许缓存代理来帮助加快速度)。