Не нужно иметь клона, вы можете работать в оригинальном репо.Вы можете пересадить D, E и F поверх C, создавая копии D1, E1 и F1 (которые будут идентичны оригиналам при условии, что нет конфликтующих изменений).У вас будет это:
A -> B -> C -> N1 -> N2 -> N3 -> D -> E -> F
\_ D1 -> E1 -> F1
Тогда вы сможете раздеть оригиналы.Смотрите скрипт ниже.
$ hg update C
$ hg transplant D E F
$ hg strip D
Вам нужно будет включить два расширения: transplant
и mq
.Для этого добавьте эти строки в ваш hgrc
:
[extensions]
transplant=
mq=
Обновление: Начиная с Mercurial 2.0, вместо 1015 * (встроенная команда) можно использовать вместоtransplant
здесь;rebase, как предполагает Лоренс Холст , должен работать одинаково хорошо.