5

对于开发,我们使用 Mercurial 存储库作为 SVN 存储库的包装器,以便在项目中进行代码审查。一切正常:开发人员正在获取更改并将自己的更改提交到 Mercurial 存储库,项目的团队负责人有时会将更改从 mercurial 服务器存储库推送到 SVN 服务器存储库。

但是我们遇到了一个问题。有一天,两名开发人员推送了两个变更集。为了将其推送到服务器,他们合并了所有更改并推送到服务器。一切都很好,但在此之后我们无法将更改从 Mercurial 存储库推送到 SVN。我们收到错误:

中止:抱歉,找不到合并修订的 svn 父级。

合并的变更集有两个已合并的父级,看起来它是正确的,但之后我无法推入 svn,也不明白为什么 SVN 找不到父级。

任何帮助都会非常有帮助,谢谢

4

1 回答 1

5

Mercurial 特别是 hgsubversion 可以成为 Subversion 的一个非常好的客户端。然而,说有必须遵守的限制。

好处是,你可以

1) 对您的 mercurial 存储库进行多次提交,并将所有这些更改作为单个修订推送到 Subversion 存储库

不好的是,你还没有各种mercurial repository之间交换的自由。

1) 如果不使用 subversion 作为中介,您将无法交换更改。

大多数情况下,当我们有一个预先存在的 subversion 存储库并且我们希望转移到 Mercurial 而不丢失 subbersion 存储库中包含的所有历史记录时,我会使用 hgsubversion。

如果要继续使用,必须遵守一定的约束条件。请参阅参考资料 2。下面。

参考:

  1. 如何处理与 hgsubversion 的合并?
  2. Mercurial 到 Mercurial 到 Subversion 工作流问题
于 2010-12-03T19:08:37.970 回答