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