Слияние ветвей в TortoiseHg, похоже, не работает

#mercurial #tortoisehg #branching-and-merging

#mercurial #tortoisehg #разветвление и слияние

Вопрос:

В проекте у меня есть ветвь по умолчанию и другая именованная ветвь. После объединения обеих ветвей и их фиксации график в TortoiseHg показывает, что обе ветви были объединены. Однако, отправляя запрос в удаленный репозиторий (который находится на стадии перед ветвлением, у него есть только ветвь по умолчанию), я получаю сообщение «прервать: нажатие создает новые удаленные ветви».

Если я не ошибаюсь, после слияния у меня осталась одна ветвь, так почему же это сообщение об ошибке? Примечание: график по-прежнему показывает, что у меня есть 2 головы, это как-то связано с этим?

Комментарии:

1. Вносились ли какие-либо другие изменения в удаленный репозиторий? Что Mark incoming changes показывает?

Ответ №1:

Вы получаете это сообщение об ошибке, потому что именованная ветвь — и все ее наборы изменений — все еще существуют в вашем локальном репозитории: вы объединили изменения в default ветку, вот и все.

Вы видите две головки, потому что используете именованную ветку: из текста справки для hg heads (эквивалент командной строки выбора головок в проводнике репозитория):

Заголовки ветвей — это наборы изменений, у которых нет дочернего набора изменений в той же ветке.

Поскольку у вас есть две ветви в вашем локальном репозитории ( default и именованная ветвь), у вас по определению есть две головки.

Чтобы устранить сообщение об ошибке, которое вы получаете, в обозревателе репозиториев есть опция Создания новой ветви в нижней части меню Синхронизации; выберите ее, после чего вы сможете выполнить переход к удаленному репозиторию.

Комментарии:

1. Хорошо, я понял, спасибо. Я думал, что слияние именованной ветви с веткой по умолчанию приведет к удалению / уничтожению именованной ветви, что не так.