我想创建两个单个项目的svn存储库(一个是其他@不同位置的备份)以及如何与一个存储库中的任何代码提交保持同步。
答案 0 :(得分:2)
您可以在两个位置安装VisualSVN Server并配置Multisite Repository Replication功能来实现此目的。
多站点存储库复制基于VisualSVN分布式文件系统(VDFS)技术,该技术在主存储库和可写从属服务器之间提供双向,自动和透明的存储库复制。
了解详情答案 1 :(得分:0)
基本上有两种解决方案可以满足您的需求。
免费解决方案
一个回购是主人,其他人是奴隶。从站可用于读取和使用svnsync以使自己与主站保持同步。从属设备有SVNMasterURI http://master.example.com/svn/repo
,它为主服务器提供URI。写入将代理到主人。
C. Michael Pilato has an excellent blog发布了有关如何设置的建议。
但这并不是你所要求的(尽管写入只发送给主用户的事实对用户来说几乎是透明的)。
另请注意,此解决方案仅适用于DAV(http或https)访问。
商业解决方案
WANdisco(完全披露:我的雇主)制作两个产品,允许主动 - 主动使用Subversion存储库并让它们保持同步。它们被称为SVN MultiSite和SVN MultiSite Plus。 SVN MultiSite仅支持DAV,但MultiSite Plus也可以支持svnserve。
这正是你想要的,但不幸的是不是免费的。
答案 2 :(得分:0)
为您的svn repos创建主从架构
的从站的
Slave将使用通过代理写入主服务器。因此,对slave的任何提交都将转到主服务器。
主的
Master将使用 post commit hook 来回写奴隶。
这需要写入slave应该使用
来从master初始化
第一次 svn初始化。之后,提交挂钩将完成任务( svn sync命令)
所以结构就像这样
来自奴隶
1.从奴隶结账。
2。承诺奴隶
3。 Slave会将提交重定向到master
4。提交完成后,master将更新从站
来自大师
1。从主人结账
2。来自大师的承诺
3.提交完成后,master将更新slave。
4。如果slave未启动并运行,则可能需要在启动slave后再次执行post-commit挂钩。
这种方法也可以用于多个从站。在多个从属设备中,所有从设备应使用通过代理写入主设备和主设备提交挂钩应在所有从设备上运行命令“svn sync”
答案 3 :(得分:0)