svn,使用post commit trigger脚本同步2个repos

时间:2012-02-06 12:18:30

标签: svn triggers sync post-commit

我想要双向同步2个svn repos。存储在svn中的文件是小的xml文件,类似于notes / sketches。两个回购由公司防火墙隔开,这限制了我的选择(例如没有外部)。

即使我知道redbook&我正在考虑以下事项: - 实现在两个repos上设置的post-commit钩子 - 导出提交的文件并将它们提交到“其他”仓库(触发提交本身就是同步提交除外)

我知道存在冲突情况的可能性,但在给定的情况下,这种情况非常不可能,并且可以手动检测和修复。

真正的(:-))令我担心的是,我无法在网上找到这样的解决方案。是不是因为svn说“不要这么做,这很危险”或者我错过了一些更基本的东西?

br woecki

1 个答案:

答案 0 :(得分:0)

双向写入问题看起来比较复杂。想象一下两个站点都位于修订版#1的场景。提交同时发生在site1和site2。 Site1将使用post-commit触发器将site2的版本#2发送到site2,同时它通过post-commit触发器将其版本#2的版本发送到site1创建版本#3。

现在发生了两件非常糟糕的事情,首先你进入一个无限循环,每个post-commit触发器将产生另一个,因为site2发送版本#3而不是site1将它作为版本#4发送回来,依此类推。

其次,你进入裂脑情景。这意味着每个站点都有两个非常不同的版本#2。所以这样做的技术最终变得非常复杂,这就是为什么简单的解决方案是主从方法,你只能写入一个点。

如果您需要更复杂的可以进行双向写入(主动 - 主动,主动 - 被动)的软件,可以使用软件来尝试http://www.wandisco.com