我们希望评估SVN协议是否比HTTP更适合我们的团队,但我们暂时不想完全切换。目前我们有一个Apache服务器提供我们的主要仓库。我们可以安全地使用svnserve.exe与同一仓库配合,以便让几个开发人员进行测试吗?我的初步猜测是可以的,但我们不想冒着损坏我们的仓库的风险。
是的,这是可能的。官方SVN书籍有一个章节专门讲解这种情况:http://svnbook.red-bean.com/en/1.5/svn.serverconfig.multimethod.html。但是需要注意一些陷阱,主要与权限设置有关。
Subversion被设计用于支持通过多种协议进行并发访问,这是CVS所面临的主要问题。你不仅可以使用http://和svn://,还可以使用file://(如果你恰好在本地机器上工作,例如使用连续集成工具或其他提交后钩子)https://、svn+ssh://等等。
根据我的经验,没有一种方法被证明比另一种方法更好,但每种方法都有一定的优点。例如,Apache非常擅长处理大量的访问。另一方面,如果你还没有使用Apache,或者不想让它处理SVN流量,那么svnserve
守护程序是轻量级且性能良好的。在我的Mac上,我使用launchd设置svnserve,只有在有请求时才启动,因此当没有存储库活动时,它不会使用任何资源。最适合的方法将在实践中取决于你看到的访问模式。