В ртутном, есть ли способ слияния при пересадке?

Похоже, что для трансплантации нужно сделать патч из набора (ов) изменений и применить его поверх цели, аналогично 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Я могу выбрать только те файлы, которые хочу.

Другие вопросы по тегам