似乎是一个简单的问题:
我的防火墙里面有一个SVN repo.
我在防火墙外面有一个SVN repo.
我有防火墙内外的用户.(没有VPN不是一个选项:(这太简单了)
防火墙内部的机器可以与外部SVN服务器通信.但不是其他方式.
外部SVN是暂时的 - 主要的回购将始终在里面.
我想以某种方式(从内部,最有可能)在一个中进行所有更改,并将它们应用于另一个.反之亦然.听起来很简单,我认为喜欢GIT可以做到这一点,但我们正在使用SVN.
有人做过吗?我不介意它是一个手动过程 - 只有几个外部人员,他们不需要每天更新,每天两到三次.
我相信apache.org会这样做,但我找不到关于他们如何做到这一点的文档.有一些产品在那里做(好吧,一个),但我很想知道是否有人有一个漂亮,干净的方式来做它没有它们.svnsync这样做,只是在一个方向(主从)
很高兴它可以在Windows,Linux或Mac上运行,就像我们拥有它们一样.Windows和Mac首选.
救命!:) :)
[更新]经过12个月的捣乱(最后不需要这个),在我看来,正确的答案是正确的.使用git - 有一个从SVN-A拉出的repo,然后推送到新的git repo,然后从那里推送到SVN-B.应该管用 :)
我推荐SVK或git-svn.
这两个都允许您创建svn存储库的外部镜像,并允许外部开发人员直接提交到外部镜像.然后,您可以将此外部镜像的更改拉入并推送到内部主仓库.
(我认为)git-svn需要外部开发人员使用git.我更喜欢它,但我不愿意把它推到别人身上.
但是,SVK允许外部开发人员继续使用svn.由于内部存储库只能在内部访问,因此内部帐户或用户必须处理定期同步(cron作业可能会起作用).
这是SVK wiki上的扩展指南:UsingSVKAsARepositoryMirroringSystem