繁体   English   中英

svn服务器自动同步

[英]svn server synchronise automatically

我在我们的局域网上有一个svn服务器在Windows上。 开发人员使用和签入/签出。 为了更加安全,我们从rackspace中选择了一台服务器。 是否可以从本地svn服务器到远程服务器进行每周自动同步。 远程备份将主要用作远程备份,但万一有人想要访问,那么他们可以这样做,因为我们的局域网没有静态或外部IP。

我建议使用svnsync 当从提交后挂钩触发时,此工具(svn发行版的一部分)允许在2个(或更多)svn服务器之间进行实时同步。

只要备份服务器以只读方式使用,就像rsync这样基本的东西应该可以工作。 但是你可能想要实现一个重试循环来保持同步,直到没有任何东西可以同步,这样你就不会在有人提交某些内容时完全同步一个状态。

如果您需要在两个站点上进行读/写访问,那么使用git之类的东西可能更安全,更容易,并且在客户端使用git-svn作为“向后兼容性”。

另一种选择是使用SVK ,一种建立在SVK之上的分布式版本控制系统。 但这对客户来说也不会完全透明。

您可以使用svnadmin dump转储整个存储库。 您可以使用postcommit钩子和相同的命令以独立格式转储提交,以后可以重新应用

结合使用这些和rsync,您可以有效地在任何其他服务器上复制您的服务器。 只要您的备份服务器只能以只读方式访问,就可以使用它。 在发生故障的情况下,简单的svn开关将允许开发人员使用备份服务器。

我建议你设置acls禁止写入备份服务器,除非它成为主服务器。

peter提到的另一个解决方案可能是svk,但不能用于完全自动同步:如果在两台服务器上进行了相互冲突的更改,会发生什么? 脚本将失败或破坏这个。 像分布式合并这样的东西必须由人来审查。

另一个解决方案是svn --mirror方式

您应该尝试阅读此内容以获取有关保持repos同步的更多详细信息: 如何同步两个Subversion存储库? :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM