Как разрешить слияние конфликтов в Mercurial (v1.0.2)?
У меня конфликт слияния, используя Mercurial 1.0.2:
merging test.h
warning: conflicts during merge.
merging test.h failed!
6 files updated, 0 files merged, 0 files removed, 1 files unresolved
There are unresolved merges, you can redo the full merge using:
hg update -C 19
hg merge 18
Я не могу понять, как это решить. Результаты поиска Google обязуются использовать:
hg resolve
но по какой-то причине мой Mercurial (v1.0.2) не имеет команды разрешения:
hg: unknown command 'resolve'
Как разрешить этот конфликт?
Ответы
Ответ 1
Действительно для hg < Только v1.1
Нет необходимости вызывать команды hg
. В отличие от svn
, Mercurial не отслеживает конфликтующие файлы. Если вы вызываете hg status
, вы увидите, что файл просто помечен как измененный.
Просто исправьте файл вручную и зафиксируйте.
Ответ 2
Чтобы выделить ответ в комментарии для Hg 1.1 +:
Для Hg 1.1 + исправьте файл вручную, а затем выполните
hg resolve -m test.h
чтобы пометить файл как объединенный.
Ответ 3
Треки отслеживания были введены в Mercurial 1.1, которая является более новой версией, которую вы используете (вам действительно нужно обновить, выпущен Mercurial 1.1. в декабре 2008 года).
В этой версии вы получили команду resolve
, которая работает аналогично svn resolve
.
Как я помню, Mercurial оставил маркеры слияния (строки <<<<
и >>>>
) в вашем файле, если есть конфликт, если вы не настроили инструмент объединения. Это также относится к более новым версиям - у меня нет настроенного инструмента слияния и получения маркеров слияния при возникновении конфликтов. Затем я могу вручную исправить файл и пометить его с помощью hg resolve
.