Подтвердить что ты не робот

Как разрешить слияние конфликтов в 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'

Как разрешить этот конфликт?

4b9b3361

Ответ 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.