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

Mercurial Diff Merge: что это за инструмент и как его использовать?

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

enter image description here

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

4b9b3361

Ответ 1

Это vimdiff. Подробнее об этом можно узнать, запустив man vimdiff.

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

[ui]
merge=internal:merge

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

Ответ 2

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

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

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

Ответ 3

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

[merge-tools]
kdiff3.priority=1000

).

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