6

Mercurial を使用してクライアント プロジェクトを開発しています。これに 2 週間取り組んだ後、クライアントはすべてのコードを SVN リポジトリに保管するように要求しました。

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

これは可能ですか?

4

1 に答える 1

3

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

hgsubversionはもうチェックアウトしましたか? これにより、Mercurial で完全な履歴を持つことができます。

詳細については、https ://www.mercurial-scm.org/wiki/WorkingWithSubversion を参照してください。

Subversion を操作する 3 つの方法を提供します。必ず 1 つを使用し、それらを混合しないでください。

  1. hgsubversion を使用
  2. MQ あり
  3. 拡張子を変換

[個人的体験]

suversion リポジトリを Mercurial リポジトリに変換する際に問題が発生する可能性がありますが、hgsubversion の方が優れていることがわかりました。

# 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. 変更セットを古いリポジトリからこの新しいリポジトリにプルして、以前のリポジトリからすべての変更と履歴を取得します
  3. これで、svn リポジトリに変更を送信する準備が整いました
于 2010-11-29T17:52:22.983 に答える