2010-06-10 49 views

回答

2

---以下后编辑回应---

你提到你想SVN通过SSH,但你不想要的svnserve。如果没有回复请求的东西,比如服务器或其他东西,你的请求将到达SSH隧道的末尾,无人处理。 Svnserve是基本的默认服务器,它响应请求并回复请求的信息。

HTTPS Apache模块mod_svn调用svnserve会调用的相同库,只是它依赖于Apache的HTTP服务器来执行网络处理。你声明HTTPS比使用svnserver慢。你可能是正确的,但这通常与HTTP流量的性质有很大关系,而与SVN位无关。

我认为你需要一些东西来回应请求,所以如果你不想使用提供的mod_svn或提供的svnserve服务器,那么你将不得不从头开始写点东西。否则,这些请求将到达所需的机器并且不会被提供。

如果您不喜欢svnserve一直在运行的想法,因为它是一个服务,您可以将它配置为在收到请求后启动并在请求处理后关闭。它在某种程度上延迟了处理请求,因为每个请求都必须等到服务启动完成并且服务可以处理请求。

---原帖如下 -

你可以做SVN通过HTTPS。它会给你SSH的加密,并且SVN服务器代码将由Apache模块调用。

这有卸载一些配置问题(接入等),以Apache的HTTP软件栈,这意味着更多类型的认证,URL过滤来限制访问更好地支持,等

这样做的好处添加SVN管理某些HTTP管理的缺点。这并不是一个很大的缺点(因为许多地方都必须管理HTTP),但它确实将SVN管理职责分解到了两个系统。

+0

我主要想知道,因为我想通过SSH为svn执行ssh密钥身份验证,所以我不必在我的部署文件中添加密码。不过谢谢你的回答! – tesserakt 2010-06-10 15:44:25

+0

我听说svnserve比基于apache的版本快得多。 – tesserakt 2010-06-10 15:44:47

+0

添加了一些注释,更详细地解释了选项,svnserve和mod_svn的角色,并希望指导您做出正确的决定 – 2010-06-10 16:14:16

4

你可以使用svn + ssh而不需要真正运行svnserver作为deamon或服务。它只是由连接本身启动(就像普通程序一样),并在请求结束时结束。看看这个tutorial

只要按照它;没有必要做任何事情来设置svnserver。

+0

这是正确的答案 - svnserve不需要通过SSH进行SVN访问。 – Suman 2012-04-18 17:30:35

相关问题