1

移植が行うことは、チェンジセットからパッチを作成し、それをターゲットの上に適用することであるように思われqimport -rますqpush

したがって、一部のハンクが適用に失敗すると、ファイルが拒否され、手動で「マージを修正」する必要があります。

のようなビジュアルマージを実行する方法はありrebaseますか?

言うまでもなく、私はすべての子孫のチェンジセットを含めたくないので、リベースの代わりに移植を使用する必要があります。つまり、私はチェリーピッキングです。

私が考えている自己回答を投稿しますが、簡単でより良い方法があるのではないかと思います。

4

1 に答える 1

0

この自己回答は、実際には移植をまったく使用していません。アイデアは、通常どおりマージしてから、マージとコミットに戻ることです。

hg init trans
cd trans
echo 1 > file
hg ci -A -m c1

echo 2 >> file
hg ci -A -m c2

hg up -r0
echo 3 >> file
hg ci -A -m c3

hg merge 1
hg ci -m merge

hg up -r1
hg revert --all -r3
hg ci -m "c3 transplant"
hg strip 3

最後に、変更セットc3は "安全に" に移植されc2ます。

このアプローチのもう 1 つの優れた点はrevert、必要なファイルだけを選択できることです。

于 2011-04-18T19:57:24.623 に答える