如果我对mod_dav_svn的理解错了,请纠正我,因为它基本上有两个目的:
现在对于第1点,我的以下假设是否正确?
对于第2点,如果使用Trac的存储库浏览功能,mod_dav_svn提供的存储库浏览功能没有其他用途吗?
mod_dav_svn是否有任何其他目的,我在这里没有概述?问另一种方式,使用svnserve和Trac是否有任何不利之处?
我问,因为我得到的印象是mod_dav_svn非常常用,所以我想知道我错过了什么。
答案 0 :(得分:15)
忘记点#2:HTTP浏览。这只是一个小小的奖励。它不会取代您对Fisheye,ViewVC或(我最喜欢的)Sventon等内容的需求。
将Apache的http用于Subversion服务器有一些缺点:
然后,有一些优点:
svnserve
,每个实例只能执行一个存储库,如果在一个系统上有多个存储库,则必须在非标准端口上运行每个svnserve
进程。我个人观点:如果您正在进行企业环境,使用HTTP或HTTPS协议方式的优势将超过缺点。如果您正在谈论一个小型存储库以及您和您的朋友,我只是因为较低的开销和更容易的设置而运行svnserve
。但是,在这种情况下,我只是使用Github而不用担心它。
我在我的机器上运行Subversion作为我的个人源控制系统,我在那个实例中使用了svnserve。
谢谢,一些跟进问题。 1)当我在svn服务器上访问svn:// server / repo的URL时,是不是也使用端口80? 2)如果无法对svnserve进行LDAP集成,那么用户可以进行身份验证的唯一方法是,如果它们位于svnserve.conf中的password-db所引用的svn://文件中,或者是svn的shell帐户+ SSH://? 3)https://提供的保护不能由svn + ssh://提供,还是有区别? (对不起,我不能把段落放在这里,每当我点击输入时我都会提交,我做对了。) -
默认使用端口3690。这可以在您运行svnserve
时更改,但您的svn网址也必须反映这一点。
非常真实。大多数使用svnserve
的地方都使用passwd文件。但是,从版本1.5开始,您可以使用SASL。但是,我从未见过有人使用它。
是的,ssh + svn://确实提供加密数据包。但是,SSH实现起来可能很棘手。基本上,必须为该特定用户生成并运行svnserve进程。这意味着每个用户都需要对存储库的直接读/写访问权限。您需要为每个用户设置umask并创建每个人都属于的Subversion Unix组。然后,由于这些用户可以直接访问存储库文件,因此请不要登录存储库服务器。 Online Manual有完整的详细信息。但是,最终,它只适用于Unix服务器和Unix客户端。 Windows客户端上没有SSH,必须安装它。我已经尝试了几次,但https://要容易得多。