Найти последнюю точку слияния двух ветвей

Имея две ветки, как я могу найти последнюю ревизию (и), в которой две ветки были объединены? Есть ли для этого стандартная команда Mercurial?

Это то же самое, что и вопрос Как найти общего предка двух ветвей в SVN? , но для Mercurial вместо subversion.


Я не понимал, почему ответ Ленивого Барсука был правильным, поэтому мне пришлось нарисовать небольшой рисунок, и теперь я понял:

Когда две ветви объединяются, они на самом деле не «объединяются», но изменения из одной ветви интегрируются во вторую ветвь. Это означает, что фиксация слияния принадлежит только исходной ветке, а не объединенной ветке. Вот почему ревизия слияния является одной из двух дочерних ревизии предка.

Это, вероятно, лучше всего видно на картинке:

default o----o----a---b---o---o
         \         \
other     `-o---o---m---o

ancestor(default,other) == a
children(ancestor(default,other)) == (b,m)
children(ancestor(default,other)) and merge() == m

23
задан Peter Mortensen 14 November 2017 в 17:00
поделиться