В ртутном, есть ли способ слияния при пересадке?
Похоже, что для трансплантации нужно сделать патч из набора (ов) изменений и применить его поверх цели, аналогично qimport -r
затем qpush
,
Поэтому, когда некоторые фрагменты не будут применены, вы получите отклоненные файлы и вам придется "исправить слияние" вручную.
Есть ли способ запустить визуальное слияние, похожее на rebase
?
Излишне говорить, что я должен использовать трансплантат вместо ребазинга, потому что я не хочу включать все потомки, то есть я выбираю вишню.
Я опубликую ответ, который я имею в виду, но мне интересно, есть ли легкий / лучший способ.
1 ответ
Этот ответ на самом деле не использует трансплантат вообще. Идея состоит в том, чтобы слить как обычно, а затем вернуться к слиянию и фиксации.
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
,
Еще одна приятная вещь об этом подходе заключается в том, что когда я делаю revert
Я могу выбрать только те файлы, которые хочу.