使用Mercurial和Subversion,但有一点扭曲

时间:2014-02-03 15:44:37

标签: svn mercurial hgsubversion mercurial-extension

在前面,我知道并且已经研究过:

遗憾的是,他们都没有讨论手头的问题。


问题

如何教授现有的Mercurial存储库直接从SVN存储库克隆它有一个SVN存储库“parent”要推送到?

现有设置

我们遇到一种情况,由于带宽问题,我有svnsync个远程“上游”SVN存储库到我们的本地分支服务器。在每次成功同步后的此过程中,相应的cron作业将hg pull从本地svnsync'SVN存储库更改为Mercurial克隆。所有这些工作正常,svnsync'存储库配置为拒绝任何提交,但与“上游”存储库共享UUID(以便svn switch --relocate ...工作)。

enter image description here

现在我们分支机构的开发人员有三个选择:

  1. 从远程(“上游”)存储库(
  2. 结帐
  3. 从本地分支机构服务器结账(更快,但仍然是SVN速度惩罚
  4. 克隆来自本地分支机构服务器的Hg repo(最快
  5. 因此,为了使最后一个版本工作,我需要能够告诉本地克隆有关远程“上游”SVN存储库的信息。我该怎么做?

1 个答案:

答案 0 :(得分:0)

AFAIK,你不能同时使用两个Subversion来源(克隆的Mercurial存储库将稍后使用source-SVN存储库进行拉取和推送):即你将无法{ {1}} + hg pull local

但是,如果本地SVN镜像只使用一次,为了在Mercurial中创建克隆,以后只使用远程SVN(推送和拉取),您可以尝试在存储库的.hgrc中替换hg push remote路径并更改本地URL到远程(对于具有共享UUID 的完整镜像,它可以工作