Есть ли предпочтительная голова при слиянии?
Что я имею в виду: у меня есть, скажем, старая версия 1000. Между тем я выполнил 234 коммита и у меня 1234 оборотов.Теперь мне нужно вернуться к версии 1000, чтобы реализовать исправление для клиента.Я фиксирую исправление, даю релиз клиенту и получаю коммит 1235.
Это всего лишь крошечное изменение: влияет только на один файл.
На данный момент у меня две головы: 1235(чей родитель - 1000) и 1234. Их общий (grand-grand -...- parent) - 1000.
Если я выдаю hg merge
, за которым следует hg status
, я получаю гигантский списокизменений.
Однако если я сначала сделаю hg update -C 1234
, а затем hg merge
и hg status
, то я увижу только свое уникальное изменение (если не ошибаюсь в том, что только что произошло).
По сути, выполнение этого:
hg update -C 1234
hg merge # (merging 1234 and 1235, my two only heads)
hg status
дает статус, отличный от этого:
hg update -C 1235
hg merge # (merging 1234 and 1235, my two only heads)
hg status
Итак, в основном, я спрашиваю статус (hg status
)после слияния двух одинаковых головок, но вывод hg status
, кажется, зависит от головы, на которой я сейчас нахожусь.
Это нормальное поведение и, если да, есть ли одна головка, которая "предпочитает"поверх другого?
В результате обе операции приводят к одному и тому же состоянию репозитория / исходного кода в конце?