我正在研究设置替代 SVN 服务器(Apache mod_dav_svn),但理想情况下希望将实际存储库存储在远程 Samba 共享上。
编辑:澄清一下,客户端访问仍将通过 Apache 前端,而不是直接访问存储库。
有什么理由可以解释为什么这是一个(非常)糟糕的想法?
我主要关心的是数据完整性(即从发送到 Apache 服务器的文件,然后从该服务器写入远程存储 - 特别是如果有任何数据包丢失),但是 SVN 本身是否应该在允许每个实际提交完成之前保证数据的完整性?
已确定的一个风险是,如果网络或远程存储出现故障,我们将无法访问存储库,但相关网络已内置弹性,并且远程存储是 SAN(同样具有弹性),因此我对此感到放心。
我还遗漏了什么吗?
答案1
为什么会出现这种情况的一些快速而随意的原因糟糕的坏主意 (tm)以及通往地狱之路:
- 直接访问 NFS|Winshare 的存储库(无需后端 SVN 特定的网络层)
file:///
协议为保证损坏的存储库(这是经验,不是法律)迟早都会发生,但无论如何都要快 - 和
file:///
协议,你将失去所有授权/身份验证的可能性(而且就是不合适在多开发人员环境中)
如果你想排除重量级的 Apache,你仍然必须(必须???)考虑使用其他服务器。它可以是纯 SVN(svnserver),也可以是 SVN over SSH