5

開発では、プロジェクトのコード レビュー用に SVN リポジトリのラッパーとして Mercurial リポジトリを使用します。開発者は変更を取得し、独自の変更を Mercurial リポジトリにコミットしており、プロジェクトのチーム リーダーは変更を Mercurial サーバー リポジトリから SVN サーバー リポジトリにプッシュすることがあります。

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

中止: 申し訳ありませんが、マージ リビジョンの svn 親が見つかりません。

マージされた変更セットには、マージされた 2 つの親があり、正しいように見えますが、後で svn にプッシュできず、SVN が親を見つけられない理由がわかりません。

どんな助けでもとても役に立ちます、ありがとう

4

1 に答える 1

5

Mercurial、特に hgsubversion は、Subversion の非常に優れたクライアントになります。ただし、守らなければならない制限があると述べています。

良いことは、あなたができるということです

1) Mercurial リポジトリに複数のコミットを行い、それらすべての変更を単一のリビジョンとして Subversion リポジトリにプッシュします。

悪い点は、さまざまな mercurial リポジトリ間で自由に交換できないことです。

1) Subversion を介さずに変更を交換することはできません。

ほとんどの場合、既存の subversion リポジトリがあり、subbersion リポジトリに含まれるすべての履歴を失うことなく Mercurial に移行したい場合に、hgsubversion を使用します。

引き続き使用する場合は、特定の制約を順守する必要があります。以下の参照 2. を参照してください。

参考文献:

  1. hgsubversion でマージを処理するには?
  2. Mercurial から Mercurial から Subversion へのワークフローの問題
于 2010-12-03T19:08:37.970 に答える