一个项目在多台SVN服务器上同步问题
有这样一个问题,我有一个项目,需要在多台不同协议的svn服务器上同步,大致情况是这样:有三台服务器:公司局域网的服务器svn://serverA/testProject家...
有这样一个问题,我有一个项目,需要在多台不同协议的svn服务器上同步,大致情况是这样:
有三台服务器:
公司局域网的服务器 svn://serverA/testProject
家中局域网的服务器 svn://serverB/testProject
公网收费的svn空间 https://serverC/testProject
我从serverA上checkout下来了项目testProject,编辑完以后同步到serverA肯定没有问题。现在我需要将项目同时提交到serverA和C上,之后从serveC上checkout下来,同步到serverB上。
以后修改每次修改都要在两个服务器上同步,serverA和serverC或者serverB和serverC。
简单点说最终目的就是在公司里的代码和家里的代码要保持一致,但是公司里或者家里的svn都不能通过公网访问,所以要借助第三方的svn空间过渡。(只要能手动同步就行了,不要求服务器间自动更新)
请问能不能实现? 展开
有三台服务器:
公司局域网的服务器 svn://serverA/testProject
家中局域网的服务器 svn://serverB/testProject
公网收费的svn空间 https://serverC/testProject
我从serverA上checkout下来了项目testProject,编辑完以后同步到serverA肯定没有问题。现在我需要将项目同时提交到serverA和C上,之后从serveC上checkout下来,同步到serverB上。
以后修改每次修改都要在两个服务器上同步,serverA和serverC或者serverB和serverC。
简单点说最终目的就是在公司里的代码和家里的代码要保持一致,但是公司里或者家里的svn都不能通过公网访问,所以要借助第三方的svn空间过渡。(只要能手动同步就行了,不要求服务器间自动更新)
请问能不能实现? 展开
1个回答
展开全部
你原来的想法是不能实现的,SVN自身的同步机制svnsync中,只能对源服务器进行commit操作,对同步服务器只能checkout、update而不能commit的,否则会导致svnsync失败。也就是说要在多台SVN服务器之间保持数据一致的话,只能设置其中某一台服务器可写,其它服务器都必须只读。
建议你换个思路,为什么不直接将第三方公网的SVN空间作为主服务器呢?所有的checkout、update、commit操作都对这个serverC进行操作,反正你在公司和家里都能直接访问serverC。如果出于数据安全、编译部署方面的考虑,可以将公司或家里的SVN服务器都作为备份服务器,使用svnsync方式将serverC上的内容同步到serverA或serverB,但不对直接serverA、serverB进行写操作。
建议你换个思路,为什么不直接将第三方公网的SVN空间作为主服务器呢?所有的checkout、update、commit操作都对这个serverC进行操作,反正你在公司和家里都能直接访问serverC。如果出于数据安全、编译部署方面的考虑,可以将公司或家里的SVN服务器都作为备份服务器,使用svnsync方式将serverC上的内容同步到serverA或serverB,但不对直接serverA、serverB进行写操作。
追问
请问svnsync怎么实现?比如,在serverA和serverB上都有testProject,我从serverA上checkout下来的之后怎么在serverB上update
追答
若要用svnsync方式的话,看这篇文章吧,写的比较详细:
http://blog.chinaunix.net/uid-22646981-id-3084472.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询