将Mercurial存储库镜像到Subversion?

时间:2010-11-29 17:50:36

标签: svn mercurial mirroring

我正在使用Mercurial开发客户端项目。在我为此工作了两周后,客户现在要求我将所有代码保存在他们的SVN回购中。

我想继续使用Mercurial进行开发,但为了让客户端满意,还要将所有提交(带有消息)导出到SVN中。

这可能吗?

1 个答案:

答案 0 :(得分:3)

您可以将Mercurial用作其subversion存储库的客户端。

你有签出hgsubversion了吗?这使您可以在Mercurial中拥有完整的历史记录。

请参阅详情:https://www.mercurial-scm.org/wiki/WorkingWithSubversion

它提供了三种使用Subversion的方法。确保你使用它并且不要混合它们。

  1. 使用hgsubversion
  2. 使用MQ
  3. 转换扩展程序
  4. [个人经历]

    我更好地发现hgsubversion在将suversion repo转换为Mercurial仓库时可能会遇到什么问题。

    # This usually fails for a svn repo with 
    # large history or large files in revchanges
    
    hg clone svn+http://.../svn local-hg
    
    # If the above has any issues and dies before converting the repo, use hg pull
    hg pull
    
      

    问题:您已有一个现有的回购。

    1. 我想最好的方法是使用上述方法之一从subversion repo创建另一个Mercurial repo。
    2. 将您的更改集从旧版本中提取到新的repo中,以获取上一个的所有更改和历史记录
    3. 现在您已准备好将更改提交到svn repository