È possibile modificare lo strumento diff predefinito in Mercurial?
-
04-07-2019 - |
Domanda
Ogni volta che faccio un hg diff file.ext
finisco per usare un'applicazione diff console. Vorrei usare Kdiff3 o WinMerge (sto usando Windows).
C'è un modo per cambiarlo? Non riesco a trovare un riferimento nella documentazione di Mercurial ( Non sto parlando di unisci! ).
Soluzione
Ho risolto questo problema usando un'estensione integrata di Mercurial ... Devo solo aggiungere le seguenti righe a Mercurial.ini (nella cartella Mercurial):
[extensions]
hgext.extdiff=
[extdiff]
cmd.vdiff = kdiff3
Quando voglio usare kdiff3 invece di diff, devo solo usare:
hg vdiff file.ext
Altri suggerimenti
Con questa configurazione
[extdiff]
cmd.kdiff3 =
Uso questo comando per vedere diffs:
hg kdiff
Questo mostra un albero di directory con tutti i file che sono stati modificati. Fai clic su un file per vedere le differenze solo per il file. Potresti essere in grado di aggiungere un parametro di file al comando per vedere solo un file.
Ulteriori informazioni qui .
Ho avuto questo problema pochi minuti fa; L'ho appena installato e ho aggiunto il suo percorso (il default è in c: \ program files \ kdiff3) al mio sistema PATH e.v. Ho riavviato la mia finestra per riprendere il nuovo percorso e " hg kdiff3 " ha appena funzionato. A quanto pare, quanto segue è nella mia base "mercurial.ini" file, questo consente a kdiff3 di funzionare con tutti i repository hg sul sistema.
[extensions]
hgext.extdiff =
[extdiff]
cmd.kdiff3 =
[merge-tools]
kdiff3.args = $base $local $other -o $output
Se stai cercando qualcosa come git difftool
, dove non è necessario digitare i nomi dei file e vedere il diff per tutti i file modificati, aggiungili al tuo ~ / .hgrc
ed esegui hg difftool
.
[extensions]
extdiff =
[extdiff]
cmd.vimdiff = vimdiff
[alias]
difftool = !for file in $(hg status -n); do hg vimdiff $file; done