Comment puis-je obtenir un joli diff visuel pour svn?
Je veux que tkdiff (ou quelque chose comme ça) affiche mon 'svn diff' afin que je puisse changer de fichier dans l'interface tkdiff elle-même.
(j'utilise un mac.)
8 réponses
Le plus simple est d'utiliser un client SVN. Il activera des fonctionnalités supplémentaires non disponibles avec la ligne de commande SVN.
Sous Windows, je recommande TortoiseSVN . Il permet l'intégration avec des outils de diff tiers tels que Araxis Merge .
Des outils Similaires existe pas sur d'autres systèmes d'exploitation qui vous permettent de faire la même chose.
Un windows j'utilise TortoiseSVN, le meilleur client SCM de la planète.
Sous Linux, le plus proche que je puisse obtenir est d'installer meld et d'exécuter la commande subversion suivante:
svn diff MyFile.txt --diff-cmd meld
J'utilise Mac OS mais la même chose fonctionne pour les autres systèmes Unix (peut être fusionné pour eux)
Mais dans Mac, Il suffit d'installer tkdiff en utilisant macport ou brew Comme brew installer tkdiff ou port sudo installer tkdiff
Ensuite, tapez simplement la commande suivante dans votre dossier de projet SVN.
svn diff --diff-cmd tkdiff
Installer ColorDiff
$ sudo apt-get install colordiff
Configurer Le Client Subversion
Ouvrez ~/.subversion/config
dans votre éditeur de texte préféré, et recherchez cette ligne:
# diff-cmd = diff_program (diff, gdiff, etc.)
Ajoutez cette ligne juste en dessous (j'aime garder les exemples par défaut intacts):
diff-cmd = colordiff
Redémarrez le terminal et maintenant vous pouvez voir coloré svn diff
TortoiseSVN comme beaucoup l'ont déjà mentionné. Il dispose d'une application de comparaison de fichiers texte intégrée appelée TortoiseMerge. Mais un outil de comparaison de fichier texte plus joli est WinMerge , qui si vous installez peut intégrer avec TortoiseSVN. C'est génial même pour les comparaisons de fichiers non liés à SVN.
Si confiné à une console Linux, je trouve très utile de mettre la fonction suivante dans mon .bashrc
svndiff() { vimdiff <(svn cat "$1") "$1"; }
La commande
svndiff MyFile.txt
Ouvrira ensuite vimdiff et vous montrera les différences côte à côte.
Http://www.pixelbeat.org/scripts/idiff est juste un filtre avesome:
svn diff | idiff
Il est quelque peu alambiqué et implique l'écriture d'un script wrapper pour émuler les outils diff et diff3
Voici plus d'infos à ce sujet.