2010-12-03 13 views
5

開発のために、プロジェクトでのコードレビューのためにSVNリポジトリのラッパーとしてMercurialリポジトリを使用します。開発者が変更を加えてMercurialリポジトリに独自の変更をコミットし、プロジェクトのチームリーダーが、時にはMercurialサーバリポジトリからSVNサーバリポジトリに変更をプッシュしています。SVNのラッパーとしてのMercurialリポジトリ

しかし、問題が発生しました。ある日、2人の開発者が2つのチェンジセットをプッシュしました。サーバーにプッシュするために、すべての変更をマージしてサーバーにプッシュしました。すべてが良いですが、この後私たちはMercurialリポジトリからSVNへの変更をプッシュできません。

中止:申し訳ありませんが、マージリビジョンのsvn親を見つけることができません。

マージされたチェンジセットにはマージされた2つの親があり、正しいと思われますが、後でsvnにプッシュすることはできませんし、SVNが親を見つけることができない理由を理解できません。

すべてのヘルプは、特別hgsubversionはSubversionの非常に良いクライアントすることができ、 おかげ

答えて

5

Mercurialのは非常に参考になります。どのくらいまで、観察されなければならない限界があると言いました。

良いことは、あなたが

1)あなたのMercurialリポジトリに複数のコミットを作成し、Subversionリポジトリ

悪い事はそのあるに単一のリビジョンとして、これらすべての変更をプッシュすることができ、ということですあなたはまだ様々な水銀貯蔵所の間で交換の自由を持っていません

1)仲介者として転覆を使わずに変更を交換することはできません。

私は、既存のSubversionリポジトリがある場合は大抵、hgsubversionを使用します。サブバージョンリポジトリに含まれるすべての履歴を失うことなく、Mercurialに移行したいと考えています。

引き続き使用したい場合は、一定の制約を遵守する必要があります。参考文献2を参照してください。

参考文献:

  1. How to handle merges with hgsubversion?
  2. Mercurial to Mercurial to Subversion Workflow Problem
関連する問題