繁体   English   中英

我可以在办公室服务器上创建一个托管的SVN存储库“并行”吗?

[英]Can I create a hosted SVN repository 'parallel' to my own on my office server?

我们一直在办公室里使用DIY SVN服务器大约一年了。 这是一个安装在家庭服务器上的SVN的简单设置。 我们使用陆龟SVN来访问它我只是希望我几年前就已经了解了一个版本控制系统..无论如何,当然在1Gbps局域网上办公室访问服务器是完美的,但外面它可用但很差,受限于50k字节/秒我们的ADSL线路上传到网络的速度。 我想这可能会在'无限'的某一天改善,但我们可能会等待。

我希望托管一个“并行”存储库,我知道我会付钱,访问速度要快得多。 这也可以为我们提供额外的备份。 我的回购不到40G,所以100G限制就可以了。 有没有办法做到这一点,并使两个镜像,以便提交(至少小)几乎立即可见? 我已经在使用Svnbackup命令在我们的服务器上制作一个并行镜像,这样可以两种方式工作吗?

任何建议或替代品赞赏。

TIA Brian

您想要一个只读服务器,还是对多个服务器的读写访问权限? 当您只需要只读镜像时,可以使用svnsync将办公室服务器复制到镜像服务器。

当你想从不同的地方提交时,看看像hg + hgsubversion或git-svn这样的分布式工具,它们都可以用作svn的异步客户端。

我认为你真正需要的是一个奴隶代理 - 这是一个用于只读访问的subversion服务器的副本,当你写(对它)时,提交会直接传递给master。 当您阅读不仅仅是写作时,这提供了一种简单但有效的方法来实现您想要的。

网上有很多教程 ,但它们都要求你使用http访问(而不是svnserve)运行subversion。 奴隶通过优秀的svnsync和post-commit钩子保持最新。

标准Linux SVN服务器具有允许您在事件上运行自己的脚本的挂钩。 您可以使用post-commit钩子(只需在“hooks”目录中放置一个名为“post-commit”的脚本)。

现在,您可以只发出整个存储库的热拷贝,这很容易设置( svnadmin hotcopy from to ),并使用ssh等将存储库复制到Internet上的其他主机。 你可以在两台机器上做到这一点,你很好。

缺点:

  • 如果您的存储库很大,那么这需要很多时间
  • 注意有人可能同时将一个存储库和其他人提交到另一个存储库。 这可能会破坏一切。 您必须确保不会发生这种情况或找到锁定存储库的方法(例如在复制过程中关闭svn)
  • 您需要对两台计算机进行shell访问

您可以通过将存储库保存到本地文件并仅将差异传输到另一台计算机来加快速度。

暂无
暂无

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

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