1

私はhg-subversionを使用しており、2つの異なるhgリポジトリがあります。1つはsvnトランクからのもので、もう1つはトランクのブランチからのものです。なんとかリンクしたいです。歴史のある時点で、両方のHgリポジトリは同一になりますが、それらに参加する方法はありますか?

言い換えれば、Hg内からリポジトリを関連付ける方法はありますか?

私が現在使用している手法は、共有するリビジョンの作業コピーの上に2番目のリポジトリをエクスポートし、その作業コピーをHgのブランチとしてコミットすることですが、この方法で履歴が失われます。

どんなアドバイスも素晴らしいでしょう

4

2 に答える 2

1

2つのリポジトリを無関係であるかのように1つにインポートしてから、それらをマージしてみてください。(共通の祖先を共有していると言う場合、それらの祖先が同じリビジョンIDを持っていることを意味しますか?そうであれば、これがうまく機能する可能性が高くなります。)

hg clone repoA
hg pull -f repoB # may not need -f
hg merge
于 2010-03-14T17:03:26.933 に答える
1

トランクまたはブランチの1つではなく、引数としてSubversionリポジトリのルートを指定して、Subversionリポジトリのクローンを再作成できますか?私はhg clone svn+ssh://foo/bar/bazかつてsvn+ssh://foo/bar/baz/trunkトランクとsvn+ssh://foo/bar/baz/branches/quuxブランチを使用しましたが、最終的にMercurialに2つの名前付きブランチがありました。「デフォルト」ブランチはSubversionトランクを表し、「quux」ブランチは同じ名前のSubversionブランチを表します。

既存のhgリポジトリに発信チェンジセットがある場合は、そこに少し拘束されている可能性があります。発信チェンジセットが数個しかない場合は、mq拡張機能を有効にして、チェンジセットをパッチに変換すると機能する場合があります。これらのパッチは、新しいクローン(適切な名前の付いたブランチ)に再適用し、最終的にSubversionにプッシュできます。

于 2010-04-17T20:31:45.853 に答える