Вы не можете.
При объединении вы всегда объединяете всю ветвь до этой точки, а не только один набор изменений.
У вас есть два варианта.
Вы можете «пересаживать» или «пересаживать» (в зависимости от версии Mercurial, которую вы используете) с одним набором изменений от одной ветви к другой. Это позволит эффективно (попытаться) применить те же самые изменения к целевой ветке и сделать небольшую заметку о том, откуда произошли изменения. Это не слияние.
Чтобы использовать эти функции, сначала обновите кончик ветки, и вы хотите, чтобы набор изменений был «объединен», а затем используйте команду трансплантата/трансплантата, чтобы применить другую ревизию поверх нее. Если вы делаете это с помощью TortoiseHg, вы можете щелкнуть правой кнопкой мыши набор изменений, который хотите «объединить», и там должен быть пункт меню. Если нет, вам может потребоваться включить расширение или, возможно, даже обновить версию более новой версии Mercurial/TortoiseHg.
Вместо этого вы должны были обновить до того момента, когда вы создали одну из ветвей от другой, в первую очередь, зафиксируйте исправление, а затем объедините его в обе ветви. Предполагая, что вы действительно хотите слить это.
Другими словами, вы бы имели это:
A---B---C---D---E---F <-- branch 1
\
+-1---2---3---4 <-- branch 2
Вы бы обновили обратно B, совершенное ваше исправление в верхней части B, а затем объединить эту ревизию в обе ветви, как это:
+-C---D---E---F <-- branch 1
/
A---B---X <-- fix changeset
\
+-1---2---3---4 <-- branch 2
, а затем после слияния:
+-C---D---E---F---G
/ /
A---B---X-------------+
\ \
+-1---2---3---4---5
G
и 5
- это два слияния в этом случае.
Отличный ответ. Мой руководитель пояснил позже, что он случайно использовал слово merge. Это вызвало путаницу. –
Да, трансплантат - это путь, или вы «вишневый» в git .. –