Mercurial Diff Merge: Что это за инструмент и как его использовать? - PullRequest
25 голосов
/ 23 мая 2011

Я новичок в Mercurial, я довольно хорошо знаком с TortoiseHG, но я впервые управляю проектом в безголовой среде Linux.Я делаю hg update после нажатия и получаю этот экран:

enter image description here

В разделе справки говорится, что это vim, как мне объединить мое приложение.

Ответы [ 3 ]

41 голосов
/ 23 мая 2011

Это vimdiff. Вы можете узнать больше об этом, запустив man vimdiff.

Однако я бы порекомендовал использовать встроенный инструмент mercurial: merge. Он выполнит слияние и, в случае возникновения конфликта, вставит маркеры конфликта в файл и уведомит вас о наличии конфликта. Затем вы открываете файл, разрешаете конфликт, удаляете маркеры конфликта, помечаете файл как разрешенный, а когда все файлы очищены, вы можете зафиксировать результат слияния. Это очень похоже на то, как Subversion обрабатывает конфликты. Вы можете настроить mercurial для использования internal: merge, добавив в файл ~ / .hgrc следующее:

[ui]
merge=internal:merge

Инструмент, который вы будете использовать для получения списка конфликтующих файлов и отметки их разрешенных, называется hg resolve, поэтому я бы порекомендовал запустить hg help resolve, чтобы узнать больше об этом инструменте. Вы можете узнать больше о поддержке Mercurial инструментов слияния, запустив: hg help merge-tools.

6 голосов
/ 23 мая 2011

Похоже, вам нужна помощь в использовании модуля сравнения Vim. Смотрите один из них:

Если вам неудобно использовать Vim, несомненно, есть опция, которая позволяет вам указать свой собственный любимый инструмент сравнения, но я не знаю HG, поэтому я не могу сказать вам, какую опцию вам придется изменить.

В открытом Vim есть три файла, которые были проверены, поэтому я думаю, что вы столкнулись с некоторыми конфликтами при выполнении hg update.

2 голосов
/ 18 мая 2017

По моему опыту, инструмент, который - безусловно, - самый простой в использовании для большинства людей, это kdiff3 (интуитивно понятное меню, естественный вид с основанием и обоими подсказками выше и полученным текстом ниже, хорошие сочетания клавиш - Ctrl-1 / Ctrl-2 / Ctrl-3 для выбора фрагмента из первого / второго / третьего окна, Ctrl-стрелки для перехода от конфликта к конфликту).Просто установите эту программу и задайте ей наивысший приоритет в конфигурации инструментов слияния (установите

[merge-tools]
kdiff3.priority=1000

).

В общем: какой бы инструмент вы ни использовали, он показывает конфликтующие версии файла иожидает, что вы создадите финальную версию.

...