Как объяснено в Mercurial: полное руководство , extdiff создает два снимка дерева исходных текстов и вызывает для них инструмент сравнения. Ваш инструмент должен поддерживать каталог diff, чтобы он работал, но, как объяснено, вы можете использовать сценарии, чтобы обойти это.
Этот пример сценария приведен в книге. В основном он берет две директории и вызывает утилиту interdiff
для всех файлов.
В вашем случае вы можете легко адаптировать скрипт для вызова winmerge
. Просто измените строку 41:
if os.system('winmerge /e /x /ub /wl "%s" "%s"' % (name(sys.argv[1], f),
Допустим, вы создали скрипт hg-winmerge, затем вы можете настроить extdiff следующим образом:
[extdiff]
cmd.winmerge = C:\Path\To\My\Script\hg-winmerge
Надеюсь, это поможет!