Можно ли изменить инструмент сравнения по умолчанию в Mercurial?

Каждый раз, когда я делаю "hg diff file.ext", я заканчиваю использование приложения консоли diff. Есть ли способ изменить это? Я не могу найти ссылку в документации Mercurial (Я не говорю о слиянии!). Я хотел бы использовать Kdiff3 или WinMerge (я использую Windows).

Ответ 1

Я решил это с помощью встроенного расширения Mercurial... Мне просто нужно добавить следующие строки в Mercurial.ini(в папке Mercurial):

[extensions]
hgext.extdiff=

[extdiff]
cmd.vdiff = kdiff3

Когда я хочу использовать kdiff3 вместо diff, мне нужно использовать только:

hg vdiff file.ext

Ответ 2

С помощью этой конфигурации

[extdiff]
cmd.kdiff3 =

Я использую эту команду, чтобы увидеть diffs:

hg kdiff

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

Подробнее здесь.

Ответ 3

У меня была эта проблема несколько минут назад; Я только что установил его и добавил свой путь (по умолчанию в c:\program files\kdiff3) в мою систему PATH e.v. Перезагрузили мое окно, чтобы забрать новый путь, и "hg kdiff3" только что сработал. Как оказалось, в моем базовом файле "mercurial.ini" содержится следующее: это позволяет kdiff3 работать для всех hg-репозиций в системе.

[extensions]  
hgext.extdiff =  

[extdiff]  
cmd.kdiff3 =

[merge-tools]  
kdiff3.args = $base $local $other -o $output

Ответ 4

Если вы ищете что-то вроде git difftool, где вам не нужно вводить имена файлов и видеть diff для всех измененных файлов, добавьте их в ~/.hgrc и запустите hg difftool.

[extensions]
extdiff =

[extdiff]
cmd.vimdiff = vimdiff

[alias]
difftool = !for file in $(hg status -n); do hg vimdiff $file; done