Ist möglich, das Standard-Diff-Tool in Mercurial zu ändern?
-
04-07-2019 - |
Frage
Jedes Mal, wenn ich ein hg diff file.ext
ich eine Konsole diff-Anwendung beenden. Ich möchte kdiff3 oder WinMerge verwenden (Ich verwende Windows).
Gibt es eine Möglichkeit, das zu ändern? Ich kann nicht einen Verweis in Mercurial Dokumentation ( Ich rede nicht über merge! ) finden.
Lösung
Ich habe löste dies eine Mercurial Einbau-Erweiterung mit ... Ich muss nur noch die folgenden Zeilen zu Mercurial.ini hinzufügen (auf Mercurial Ordner):
[extensions]
hgext.extdiff=
[extdiff]
cmd.vdiff = kdiff3
Wenn ich statt diff verwenden kdiff3 möchte ich nur verwenden:
hg vdiff file.ext
Andere Tipps
Mit dieser Konfiguration
[extdiff]
cmd.kdiff3 =
Ich verwende diesen Befehl diffs zu sehen:
hg kdiff
Dies zeigt einen Verzeichnisbaum mit allen Dateien, die sich geändert haben. Um eine Datei nur für die Datei diffs zu sehen. Sie können nur eine Datei Parameter auf den Befehl hinzufügen zu können, um eine Datei zu sehen.
Weitere Informationen hier .
Ich hatte gerade dieses Problem vor ein paar Minuten; Ich installierte es einfach und hinzugefügt, um seinen Weg (Standard ist bei c: \ program files \ kdiff3) auf meinem System PATH E. V. Neustart mein Fenster den neuen Pfad zu holen und „hg kdiff3“ gerade gearbeitet. Wie es die folgende in meiner Basis „Mercurial.ini“ Datei stellt sich heraus, das die kdiff3 ermöglicht für all hg repos auf dem System zu arbeiten.
[extensions]
hgext.extdiff =
[extdiff]
cmd.kdiff3 =
[merge-tools]
kdiff3.args = $base $local $other -o $output
Wenn Sie sich für so etwas wie git difftool
suchen, wo Sie nicht brauchen, die Dateinamen eingeben und die diff für alle geänderten Dateien sehen, fügen Sie diese an Ihre ~/.hgrc
und hg difftool
ausgeführt werden.
[extensions]
extdiff =
[extdiff]
cmd.vimdiff = vimdiff
[alias]
difftool = !for file in $(hg status -n); do hg vimdiff $file; done