【发布时间】:2014-01-08 19:14:38
【问题描述】:
我想为单个项目创建两个 svn 存储库(一个是其他@不同位置的备份)以及如何与一个存储库中的任何代码提交保持同步。
【问题讨论】:
-
所有提交都将只发送到一个仓库,还是可以同时发送到两个?
-
在两个存储库上..
标签: svn repository tortoisesvn
我想为单个项目创建两个 svn 存储库(一个是其他@不同位置的备份)以及如何与一个存储库中的任何代码提交保持同步。
【问题讨论】:
标签: svn repository tortoisesvn
您可以在这两个位置安装 VisualSVN 服务器并配置 Multisite Repository Replication 功能来实现这一点。
多站点存储库复制基于 VisualSVN 分布式文件系统 (VDFS) 技术,该技术在主存储库和可写从属库之间提供双向、自动和透明的存储库复制。
【讨论】:
基本上有两种解决方案可以满足您的需求。
免费解决方案
一个repo 是master,其他repo 是slave。从站可用于读取并使用 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。
这正是你想要的,但不幸的是它不是免费的。
【讨论】:
为您的 svn 存储库创建主从架构
从属
从服务器将使用通过代理写入主服务器。因此,任何对从属服务器的提交都将转到主服务器。
大师
Master 将使用 post commit hook 回写到 slave。
这需要第一次使用
svn initialize 从 master 初始化写入 slave。之后,提交后挂钩将执行任务(svn 同步命令)。
所以结构是这样的
From slave
1. 从奴隶结帐。
2。提交奴隶
3。从站会将提交重定向到主站
4。向master提交后,master将更新slave
来自大师
1。从主人结帐
2。从主人提交
3. 提交完成后master会更新slave。
4。如果 slave 没有启动并运行,你可能需要在启动 slave 后再次执行 post-commit 钩子。
这种方法也可以用于多个从站。在多个从属服务器中,所有从属服务器都应使用通过代理写入主服务器,并且主服务器的提交提交钩子应在所有从服务器上运行命令“svn sync”
【讨论】:
我在 wordpress 上找到了我的解决方案
http://iacoware.wordpress.com/2009/10/02/howto-use-svnsync-to-mirror-a-repository-on-windows/
【讨论】: