У меня есть центральный репозиторий Mercurial, содержащий историю, клонированную из репозитория SVN с использованием hgsubversion. Я извлек дополнительные коммиты, сделанные в репозиторий SVN с тех пор, как был клонирован исходный репозиторий hg; в настоящее время они находятся в ветке по умолчанию.
У меня также есть именованная ветка. Я клонировал эту ветку (используя hg clone -b mybranch
) в моей локальной системе. Теперь я хочу получить изменения, которые существуют только по умолчанию, и сделать их доступными в моей именованной ветви. Очевидный способ сделать это - сделать hg update mybranch
в репо, затем hg merge default
и зафиксировать. Это кажется опасным - если я забуду обновить по умолчанию после того, как я закончу, все будущие извлечения из SVN приведут к изменениям в mybranch .
Я также подумал, что, возможно, мне не следовало указывать mybranch , когда я клонировал репо, но клонировал весь репо и просто обновил до mybranch локально. Таким образом, я мог перенести изменения по умолчанию в мой локальный клон и выполнить слияние там.
Какой правильный ответ здесь? Сделайте это на общем репо и просто будьте осторожны? Клонировать все и управлять филиалами локально? Или я упускаю более простое решение?