web-dev-qa-db-fra.com

Comparaison graphique de plusieurs paires de fichiers sous Mac OS 10.7

Est-il possible de visualiser graphiquement la sortie "svn diff" sous Mac OS?

La plupart des programmes de différences graphiques ne vous permettent de visualiser qu'un fichier par fois. Ce qui est très gênant lorsque vous utilisez svn et que vous 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 un programme graphique et vérifie tous les fichiers à la fois, comme indiqué sur le image .

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

P.S. Le programme "meld" semble faire la même chose (ou pas?) et j'ai déjà essayé de l'installer, mais j'ai un error Par conséquent, je pense que je ne peux pas l'installer sous OSx 10.7.

45
klm123
  1. Il existe kompare pour Mac OS. C’est une partie du SDK KDE 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 supporte ce que l'on appelle external diff .

Pour l'utiliser, il faut créer le script svn-wrapper, qui prendra les paramètres renvoyés par la commande "svn diff" et l'appel différera des paramètres requis.

voici un exemple de paramètres "svn diff" renvoie:

-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 dernières. Par conséquent, next bash script conviendra:

#!/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 $*

mettez 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] dans le fichier ~/.Subversion/config:

diff-cmd = svnwrapper.sh
3
klm123

Vous pouvez utiliser l'outil FileMerge d'Apple ou Kaleidoscope . Les deux ont des invocations de ligne de commande:

  • pour ouvrir FileMerge, installez les outils de développement de ligne de commande à partir de Xcode et utilisez opendiff
  • pour ouvrir Kaléidoscope, installez ses outils de ligne de commande depuis Kaléidoscope et utilisez ksdiff
62
user23743

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

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

Suivant image url du site kdiff3 montre qu'il compare les annuaires.

9
Atilla Ozgur

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

4
Attila Fulop

Kaleidoscope est un très bon choix si vous souhaitez passer rapidement de la comparaison des structures de répertoires aux fichiers des 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.

2
stymek

Il s'agit d'un bel outil de différenciation de fichiers . P4Merge: http://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools

0
Chris Cinelli

Je ne suis pas tout à fait sûr d'avoir bien compris, mais 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 également prendre en compte la version de svn your using.

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 une modification.

Cependant, je ne suis pas sûr qu'il vous permette de laisser des différences dans les fichiers aléatoires, ce que je pense que vous demandez. Vous pouvez l'essayer cependant.

0
Emile

Bruno De Fraine a écrit des scripts qui lancent FileMerge d’OSX 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 (lance FileMerge pour chaque fichier)

> svn diff --diff-cmd fmdiff
0
Peter Tseng

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

0
bonobon