Comparaison graphique de paires de fichiers multiples sur Mac OS 10.7

Est-il possible d’afficher graphiquement la sortie “svn diff” sous Mac OS?

La plupart des programmes de diff graphique vous permettent de visualiser un seul fichier par heure. Ce qui est très gênant lorsque vous utilisez svn et avez changé comme 10 fichiers.

Pour Linux, j’ai trouvé une solution dans le programme ” Kompare “. Je fais:

svn diff > diffOut; kompare diffOut 

et comme résultat je travaille avec le programme graphique et vérifie tous les fichiers immédiatement comme il a montré sur l’ image .

Y a-t-il la même chose pour Mac OS?

Le programme PS “meld” semble faire la même chose (ou pas?), Et j’ai déjà essayé de l’installer, mais j’ai eu une erreur . Par conséquent, je supprime que je ne peux pas l’installer sous OSx 10.7.

Vous pouvez utiliser l’outil FileMerge d’Apple, ou Kaléidoscope . Les deux ont des appels de ligne de commande:

  • pour ouvrir FileMerge, installez les outils de développement en ligne de commande depuis Xcode et utilisez opendiff
  • pour ouvrir Kaleidoscope, installez ses outils en ligne de commande depuis Kaleidoscope et utilisez ksdiff

KDiff est un programme open source de différence de texte. Vous pouvez l’utiliser dans Windows, Unix, Linux et Mac OSX. Essayez le Sur Windows, il s’ajoute automatiquement pour svn diff. Je n’utilise pas Mac OSX donc je ne peux pas dire que cette fonction est également disponible là-bas.

compare ou fusionne deux ou trois fichiers ou répertoires de saisie de texte,

L’ image suivante de l’url du site kdiff3 montre qu’elle compare les répertoires.

DiffMerge est à la fois gratuit et génial. Fait également la comparaison et la fusion 3 voies.

  1. Il y a une comparaison pour Mac OS. Il fait partie de KDE SDK et on peut l’obtenir en utilisant MacPorts:

     sudo port install kdesdk4 launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist export PATH="/Applications/MacPorts/KDE4/kompare.app/Contents/MacOS:"$PATH 

    et il fonctionne!

  2. Svn prend en charge ce qu’on appelle le diff externe .

Pour l’utiliser, vous devez créer un script svn-wrapper, qui prendra les parameters renvoyés par la commande “svn diff” et appelez différemment avec les parameters requirejs.

Voici un exemple de paramètre “svn diff” qui retourne:

 -u -L code/Class1.h (revision 16518) -L code/Class1.h (working copy) code/.svn/text-base/Class1.h.svn-base code/Class1.h 

opendiff a besoin des deux derniers. Par conséquent, le script bash suivant sera approprié:

 #!/bin/sh if [ $# -lt 2 ]; then echo "usage: $0 [ignored args...] file1 file2" >&2 exit 1 fi # The last two arguments passed to this script are the paths to the files # to diff. while [ $# -gt 2 ]; do shift done exec opendiff $* 

placez ce script dans le fichier svnwrapper.sh. Fichier exécutable:

 chmod +x svnwrapper.sh 

et le mettre dans un chemin commun, qui est ajouté à la variable $ PATH. Maintenant, vous pouvez appeler svn en utilisant

 svn diff --diff-cmd=svnwrapper.sh 

ou ajoutez simplement à la section [helpers] du fichier ~ / .subversion / config:

 diff-cmd = svnwrapper.sh 

Kaléidoscope est un très bon choix si vous souhaitez passer rapidement de la comparaison des structures de répertoires et des fichiers dans les répertoires. Il est également possible de comparer plus de 2 copies. J’ai aussi l’impression que l’algorithme de comparaison de fichiers (blocs de correspondance et changements de code couleur) est vraiment bon. À la fin, un essai de 15 jours est disponible, que vous devez payer.

Je ne suis pas sûr si j’ai bien compris, cependant j’utilise Eclipse avec le plugin subclipse sur un mac.

http://www.eclipse.org/downloads/?osType=macosx

Assurez-vous de lire la page pour obtenir la version correcte et prenez également en compte la version de svn que vous utilisez.

http://subclipse.tigris.org/servlets/ProjectProcess;jsessionid=1BCECCE84434FF08FDE32136D13FF061?pageID=p4wYuA

Une fois installé, vous pouvez ensuite sélectionner la perspective de synchronisation, afficher tous les fichiers en conflit et nécessiter un changement.

Je ne suis toutefois pas sûr que cela laissera vos propos se différencier des fichiers aléatoires, ce que je pense que votre genre de demande. Vous pouvez l’essayer cependant.

Ceci est un bon outil de diff fichier-fichier. P4Merge: http://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools

Bruno De Fraine a écrit des scripts qui lancent FileMerge pour chaque fichier: http://www.defraine.net/~brunod/fmdiff/

Installer

 > svn co http://soft.vub.ac.be/svn-gen/bdefrain/fmscripts/ fmscripts > cd fmscripts > make > sudo make install 

Diff (lancez FileMerge pour chaque fichier)

 > svn diff --diff-cmd fmdiff 

Beyond Compare n’est pas gratuit, mais je l’ai utilisé et je l’ai aimé.

Beyond Compare est un autre que vous pouvez append à la liste. C’est gratuit et multi-plateforme (Windows, Mac, Linux).