作業中のリビジョンに戻り、そのリビジョン以降に行ったすべての変更セットを新しいブランチにプルしたいと考えています。基本的に、メインブランチから数回マージしましたが、それらを元に戻したいと思います。
これは可能ですか?これを行うのに役立つツールはありますか?
作業中のリビジョンに戻り、そのリビジョン以降に行ったすべての変更セットを新しいブランチにプルしたいと考えています。基本的に、メインブランチから数回マージしましたが、それらを元に戻したいと思います。
これは可能ですか?これを行うのに役立つツールはありますか?
履歴が次のようになっている場合:
[M1]--[M2]----[M3]---[M4]----[M5]----[M6]
\ \ \
[B1]--[B2]--[B3]----[B4]----[B5]----[B6]
ここで、M# はデフォルト ブランチのチェンジセット、B# は既存のブランチのチェンジセット、B3 と B5 はマージ チェンジセットです。目標は次のようなものを取得することです。
[M1]--[M2]----[M3]---[M4]----[M5]----[M6]
\
[B1]--[B2]--[B4]----[B6]
次に、次のようにしてそれを取得できます。
hg update M1
hg branch new_branch_I_want
hg graft B1 B2 B4 B6
これにより、これらの変更が新しいブランチに取り込まれます。もちろん、古いブランチはまだ変更されていない状態で存在します。移植はマージ変更セットをスキップするので、おそらく B1::B6 範囲全体を指定できますが、私は試していません。