Mercurial存储库作为SVN的包装器

bre*_*eez 5 svn mercurial hgsubversion

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

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

abort:抱歉,找不到合并修订版的svn parent.

合并的变更集有两个父项被合并,看起来它是正确的,但我不能推入svn之后,不明白为什么SVN找不到父.

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

pyf*_*unc 5

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

好的是,你可以

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

不好的是,你仍然没有各种mercurial存储库之间的交换自由

1)如果不使用subversion作为中介,则无法交换更改.

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

如果要继续使用,则必须遵守某些约束.参见参考文献2.下面.

参考文献:

  1. 如何处理与hgsubversion的合并?
  2. Mercurial到Mercurial到颠覆工作流问题