Ответ 1
Слияние в Mercurial всегда работает следующим образом:
- Обновите одну из ветвей (см. примечания ниже, почему вы хотите выбрать тот или иной, а не просто выбрать случайную ветвь)
- Объединить с другой веткой
Например, в вашем случае вы бы сделали:
hg update trunk
hg merge experiment
Выбор правильной ветки для обновления до
Есть несколько вещей, которые следует учитывать при выборе той ветки для обновления и с которой нужно объединиться, и она связана с закладками и именами ветвей.
Сначала введите названия ветвей. Если вы сначала обновляете ветвь соединительной линии, а затем объединяетесь с экспериментом, набор изменений слияния будет находиться в ветке соединительной линии.
Однако, если вы обновляетесь до ветки эксперимента, объединитесь с trunk, тогда набор изменений слияния будет находиться в ветке эксперимента.
Это важно учитывать, думая о том, почему вы сливаетесь. Вы объединяете эксперимент в багажник или обновляете эксперимент с другими изменениями, произошедшими на магистрали.
Что касается закладок, с более новыми версиями Mercurial, закладки являются неотъемлемой частью, и если вы обновляете закладку, скажите вот так:
hg update moving-target
а затем зафиксируйте, что закладка будет следовать за вашей фиксацией, т.е. он будет двигаться вперед.
В строке этого, если у вас есть закладка с именем moving-target на голове ветки соединительной линии и обновляется до этой закладки, набор изменений слияния при его фиксации переместит эту закладку вперед.