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

StackOverflow https://stackoverflow.com/questions/238183

  •  04-07-2019
  •  | 
  •  

Вопрос

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

Есть ли способ изменить это? Я не могу найти ссылку в документации Mercurial ( Я не говорю о слиянии! ).

Это было полезно?

Решение

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

[extensions]
hgext.extdiff=

[extdiff]
cmd.vdiff = kdiff3

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

hg vdiff file.ext

Другие советы

С этим конфигом

[extdiff]
cmd.kdiff3 =

Я использую эту команду для просмотра различий:

hg kdiff

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

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

У меня только была эта проблема несколько минут назад; Я только что установил его и добавил его путь (по умолчанию это 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

Если вы ищете что-то вроде 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top