Question

Chaque fois que je fais un hg diff file.ext , je finis par utiliser une application de console. J'aimerais utiliser Kdiff3 ou WinMerge (j'utilise Windows).

Y a-t-il un moyen de changer cela? Je ne trouve pas de référence dans la documentation Mercurial ( je ne parle pas de fusion! ).

Était-ce utile?

La solution

J'ai résolu ce problème en utilisant une extension intégrée à Mercurial ... Il me suffit d'ajouter les lignes suivantes à Mercurial.ini (sur le dossier Mercurial):

[extensions]
hgext.extdiff=

[extdiff]
cmd.vdiff = kdiff3

Lorsque je veux utiliser kdiff3 au lieu de diff, je n'ai qu'à utiliser:

hg vdiff file.ext

Autres conseils

Avec cette config

[extdiff]
cmd.kdiff3 =

J'utilise cette commande pour voir les diffs:

hg kdiff

Ceci affiche une arborescence de répertoires avec tous les fichiers qui ont été modifiés. Vous cliquez sur un fichier pour voir les diffs pour seulement le fichier. Vous pourrez peut-être ajouter un paramètre de fichier à la commande pour ne voir qu'un fichier.

Plus d'infos ici .

Je viens d'avoir ce problème il y a quelques minutes; Je viens de l’installer et d’ajouter son chemin (la valeur par défaut est c: \ program files \ kdiff3) à mon système PATH e.v. Redémarrez ma fenêtre pour prendre le nouveau chemin, et "hg kdiff3". juste travaillé. Il se trouve que ce qui suit se trouve dans ma base "mercurial.ini". fichier, cela permet à kdiff3 de fonctionner pour tous les repos hg du système.

[extensions]  
hgext.extdiff =  

[extdiff]  
cmd.kdiff3 =

[merge-tools]  
kdiff3.args = $base $local $other -o $output

Si vous recherchez quelque chose comme git difftool , pour lequel vous n'avez pas besoin de taper les noms de fichiers et de voir les différences pour tous les fichiers modifiés, ajoutez-les à votre ~ / .hgrc. et exécutez hg difftool .

[extensions]
extdiff =

[extdiff]
cmd.vimdiff = vimdiff

[alias]
difftool = !for file in $(hg status -n); do hg vimdiff $file; done
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top