5

hgsubversion を使用して SVN リポジトリから複製された履歴を含む中央の Mercurial リポジトリがあります。元の hg リポジトリがクローンされてから、SVN リポジトリに対して行われた追加のコミットを取得しました。これらは現在デフォルト ブランチにあります。

名前付きブランチもあります。このブランチを (を使用してhg clone -b mybranch) ローカル システムに複製しました。ここで、デフォルトにのみ存在する変更を取得し、名前付きブランチで利用できるようにしたいと考えています。私がそれを行うための明白な方法はhg update mybranch、リポジトリでa を実行してhg merge defaultからコミットすることです。これは危険に思えます。完了後にデフォルトに戻すのを忘れた場合、SVN からの今後のプルはすべてmybranchに変更をプルします。

また、レポのクローンを作成するときにmybranchを指定するべきではなかったのではないかと考えましたが、レポ全体をクローンして、ローカルでmybranchに更新しただけです。したがって、デフォルトで変更をローカル クローンにプルし、そこでマージすることができます。

ここで正しい答えは何ですか?共有レポでそれを行い、注意してください。すべてを複製してブランチをローカルで管理しますか? または、私が見逃している簡単な解決策はありますか?

4

2 に答える 2

6

Mercurial では一般的に、問題を引き起こす可能性があると思われる何かを行うときはいつでも、レポを複製してそこで試します。次に、それらの変更をプッシュして戻すか、実際のリポジトリでアクションを実行するかを選択できます。いずれにせよ、失敗して損害を与えないという選択肢があります。クローンは捨てることができます

于 2011-01-21T04:11:51.757 に答える
1

共有レポでそれを行い、注意してください。または、共有リポジトリ全体を複製し、そこでマージしてから、ブランチのみの複製にプッシュします。

于 2011-01-21T03:58:19.963 に答える