2010-11-29 16 views
6

私はMercurialを使用してクライアントプロジェクトを開発しています。私はこれを2週間続けた後、クライアントはSVNリポジトリにすべてのコードを保存するように要求しました。MercurialリポジトリをSubversionにミラーリングしますか?

私はMercurialを開発に使用し続けたいが、クライアントを満足させるために、すべてのコミット(メッセージ付き)をSVNにもエクスポートする。

これは可能ですか?

答えて

3

MercurialをクライアントとしてSubversionリポジトリに使用できます。

まだhgsubversionをチェックしましたか?これにより、Mercurialで完全な履歴を持つことができます。 https://www.mercurial-scm.org/wiki/WorkingWithSubversion

それはSubversionで作業する3つの方法が用意されています

はで詳細を参照してください。必ず1つを使用し、それらを混用しないでください。 hgsubversionで

  1. MQで
  2. 変換拡張子

[個人体験]

私が発見したにsuversionレポを変換しながら、それは問題が発生する可能性がありどのように今までより良いhgsubversion 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のレポから別のMercurialリポジトリを作成することですね。
  2. だから、このソリューションが可能になる今、あなたは、SVNリポジトリへの変更
+0

を提出する準備ができている前の

  • からすべての変更や歴史を取得するために、1古いから、この新しいリポジトリにあなたの変更セットを引いSVNリポジトリに変更を同期させるために私の* exist * hg repoを使用し続けますか? SVNから新しい変更を引き出すことができます(変更があった場合も同様です)。これは可能か? –

  • +0

    @ジョンL:はい、3つの方法のいずれかを使ってsvn repoをクローンする必要があります。これにより、MercurialをSubversionのクライアントとして使用することができます。次に、この新しいリポジトリとhg pullを使用して古いリポジトリからの変更を同期させる必要があります。新しいリポジトリを使って変更をsvn repoにプッシュします。 – pyfunc

    +0

    まあ... svnサーバーから空のレポをクローンし、次にあなたの現在のhgレポからあなたの変更をプルします。 – jkerian

    関連する問題