6

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

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

这可能吗?

4

1 回答 1

3

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

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

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

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

  1. 使用 hgsubversion
  2. 使用 MQ
  3. 转换扩展

[个人经验]

我发现 hgsubversion 更好,但在将 suversion repo 转换为 Mercurial repo 时可能会出现问题。

# 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. 将您的更改集从旧的存储库中拉入这个新存储库,以获取前一个存储库的所有更改和历史记录
  3. 现在您已准备好将更改提交到 svn 存储库
于 2010-11-29T17:52:22.983 回答