原文地址:svn伪分布式、双向同步、多server同步设想
更多更新、细节以及实现方式,请参考原文,不定期更新。
svn伪分布式、双向同步、多server同步设想。旨在提高SVN可用性,不在脱机工作方向尝试。
众所周知,git是分布式的,svn是集中式的。
把git当做集中式用,完全可以;但是把svn用出分布式的样子,还是有难度的。
有一些开源工具试图解决这一问题,例如SVK旨在增强脱机工作的功能。
本文只是设想,且注重于svn server双向同步 或 多server互相同步,旨在提高SVN可用性,不在脱机工作方向尝试。
方案如下:
在serverA 上面建repoA,然后使用rsync等工具将repoA 同步到serverB上面形成repoB,以此类推,可以有serverC-repoC……
然后利用每个repo的hooks——pre-commit和post-commit
pre-commit: lock others repos
post-commit: commit and sync to other server
post-commit: unlock other repos
方案如上,如此可以向不同的server上的repo提交代码,多server之间进行同步,形成 一个伪分布式。
但是还是尽量向同一个server提交比较好,其他server作为备用机,同时可以对读操作进行分流。这又回到本文起点:旨在提高SVN可用性,不在脱机工作方向尝试。
<