2010-11-29 158 views
6

我正在使用Mercurial开发客户端项目。在我工作了2周之后,客户现在已经要求我将所有代码保留在他们的SVN仓库中。将Mercurial存储库镜像到Subversion中?

我想继续使用Mercurial进行开发,但为了保持客户端的高兴,还要将所有提交(w /消息)导出到SVN中。

这可能吗?

回答

3

您可以使用Mercurial作为其Subversion存储库的客户端。

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

看到的细节:https://www.mercurial-scm.org/wiki/WorkingWithSubversion

它提供了Subversion工作的三种方式。确保你使用一个,不要混合它们。

  1. 随着hgsubversion
  2. 随着MQ
  3. 转换扩展

[亲历]

我发现hgsubversion如何更好以往任何时候都可能有问题,而suversion回购转换为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. 我想最好的办法是创建使用上述方法中的一个颠覆回购另一水银回购。
  2. 从老一拉你的变化集合到这个新的回购让所有从上一个
  3. 现在你已经准备好提交修改svn库
+0

所以将这个解决方案允许改变历史我继续使用我的*存在* HG回购,将更改同步到他们的SVN回购? 更好的办法是从SVN中提取新的变更(如果有人在他们这边进行更改)。这是可行的吗? – 2010-11-29 18:04:18