Ответ 1
Да, у вас есть два хороших варианта:
Графт: новый в Mercurial 2.0
В этой версии представлена команда трансплантат, которая может поддерживать интеллектуальные изменения. "Интеллект" заключается в том, что он будет использовать слияния внутри, а это означает, что вы получаете
-
Поддержка переименований: Представьте, что вы исправили ошибку в файле
foo.c
в ветке разработки. В старшей ветки обслуживанияfoo.c
был вызванbar.c
. Используяhg graft
, изменение наfoo.c
можно корректно объединить в старыйbar.c
. -
Трехсторонние слияния: Привязка включает скручивание графика вокруг и слияние на этом временном графике. Преимущество трехсторонних слияний заключается в том, что вы можете использовать свой обычный графический инструмент слияния для разрешения конфликтов.
Чтобы скопировать кончик default
на old-branch
, вы просто запускаете
$ hg update old-branch
$ hg graft default
Трансплантация: более старые версии
До того, как мы получили команду трансплантата, путь
Использование трансплантата прост:
$ hg update old-branch
$ hg transplant default
$ hg update old-branch
$ hg export default | hg import -