在前面,我知道并研究过:
- https://www.mercurial-scm.org/wiki/HgSubversion
- https://www.mercurial-scm.org/wiki/WorkingWithSubversion
不幸的是,双方都没有讨论手头的问题。
问题
我如何教一个没有直接从 SVN 存储库克隆的现有 Mercurial 存储库,它有一个 SVN 存储库“父”要推送到?
现有的设置
我们有一种情况,由于带宽问题,我将svnsync
远程“上游”SVN 存储库转移到我们的本地分支服务器。在每次成功同步后的此过程中,相应的cron
作业将从hg pull
本地svnsync
'd SVN 存储库更改为 Mercurial 克隆。所有这些都可以正常工作,并且svnsync
'd 存储库被配置为拒绝任何提交,但与“上游”存储库共享 UUID(这样可以svn switch --relocate ...
正常工作)。
现在我们分支机构的开发人员有三个选择:
- 从远程(“上游”)存储库签出(慢)
- 从本地分支服务器结帐(更快,但仍然是 SVN 速度损失)
- 从本地分支服务器克隆 Hg 仓库(最快)
因此,为了使最后一个版本正常工作,我需要能够告诉本地克隆远程“上游”SVN 存储库。我怎么做?