镜像 SVN 仓库 [写透代理]

13

我有一个代码库位于欧洲,我从亚洲访问这个代码库。该代码库非常庞大,有时需要下载整个代码库,这变得非常麻烦。

我想知道是否有这样的解决方案。

我希望有一种解决方案,“我将在本地拥有一个svn服务器,它将与主svn同步并作为本地托管的svn为我的团队提供服务。”

谢谢!
Munim

4个回答

13

您还可以尝试使用自 SVN 1.5 版本开始支持的写入代理(write-through-proxy),这种方法很有效。

使用此设置,您需要一个主仓库和一个从仓库。

从仓库充当本地读取缓存,而提交将被代理到主服务器并同步回来。

这个解决方案随附于 Subversion / Apache 中。

请查看此svndevelopers博客以获取更多详细信息。或者阅读绝妙的 SVN 书籍,或最后是Subtrain 管理培训演示。


这正是我想要的。你能详细告诉我如何做吗? - Abdul Munim
这不是一个难任务,但你需要做很多事情(如Apache配置和Subversion钩子)。你可以使用链接作为参考(我添加了两个额外的参考链接)。 - Peter Parker
有没有最新的链接适用于SVN开发者博客?看起来他们现在需要一些身份验证(不明显如何注册或类似的操作)。 - Adam
更新的 SVN 1.7 红皮书链接:http://svnbook.red-bean.com/en/1.7/svn.serverconfig.httpd.html#svn.serverconfig.httpd.extra.writethruproxy - Eduard Wirch
博客文章的更新链接:http://blogs.collab.net/subversion/yesterday-at-th - Eduard Wirch

3

抱歉!当你搜索“镜像SVN仓库”时,这是Google上的第一篇帖子。我已经编辑了问题,请再次检查问题。我相信你可以帮助我解决这个问题。 - Abdul Munim
好的,svnsync 几乎肯定是你的选择。你可以设置一个 post-commit 钩子来为你完成同步。第二个链接应该会给你一个相当不错的指南。 - John Gietzen
也许 svnsync 可以是一个解决方案,但我想要类似于 TFS Proxy 的东西。 - Abdul Munim
@ Munim:我认为 SVN 没有缓存代理服务器。 我认为 svnsync 是最接近你能达到的。使用 scvsync,你也可以接近一些。 - John Gietzen
有一个写入代理机制内置于svn1.5中(但是通过一些Apache魔法,你可以在svn 1.4上运行它:http://www.rvo-consulting.com/2008/02/21/subversion-diy-write-through-proxy/) - Peter Parker

0

除了使用svnsync之外,您可以尝试来自Wandisco的商业解决方案。


0

使用VisualSVN Server尝试多站点存储库复制。这正是您一直在寻找的。

多站点存储库复制功能实现了经典的主/从复制架构,允许您在欧洲主代码库位置设置一个主存储库,并在其他位置设置多个从存储库。

与标准的写入代理解决方案相比,在多站点存储库复制功能中:

  • 主存储库和从存储库看起来和行为就像一个常规的可写Subversion存储库,

  • 主从之间的复制是自动透明的,

  • 支持高级身份验证机制,

  • 它易于设置,在VisualSVN Server Manager MMC控制台上通过最小配置即可开箱即用。

了解更多信息,请访问http://www.visualsvn.com/support/topic/00068/


谢谢。这肯定会帮助那些仍在使用SVN的人。我猜Git解决了大部分SVN的问题,因此人们正在向它转移。 - Abdul Munim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接