Quels outils de comparaison de répertoires puis-je utiliser sur OS X?

46

Je recherche un outil capable de comparer des répertoires, pas seulement des fichiers. Il est également important de pouvoir appeler l'outil à partir de la ligne de commande.

Ce serait bien d'avoir un outil gratuit, sinon gratuit, merci de préciser le prix.

Sorin
la source

Réponses:

5

Pour tous les googleurs ... consultez les règles Beyond Compare it. Coûte 30 $ ou 50 $ pour la version Pro.

Motsel
la source
J'essaie généralement d'éviter de recommander une solution commerciale lorsqu'il existe des alternatives libres et open source, mais BeyondCompare est un cas spécial où cela vaut chaque centime ... et est également multi-plateforme. Je l'utilise depuis plus de 10 ans et j'ai attendu trop longtemps pour obtenir la version MacOS.
sorin
41

FileMerge (gratuit), livré avec Xcode, offre une vue de répertoire.
Une version en ligne de commande est disponible via l'opendiff d'application Terminal.

kraymer
la source
2
Je voudrais choisir cette réponse, car elle opendiffpourrait être considérée comme presque «intégrée» à l'OS X, mais lorsque j'essaie de différencier deux dossiers, elle a ouvert une vue moche qui n'était pas si facile à comprendre et je n'ai pas pu voir comment fusionner deux fichiers dans la vue des fichiers. Je suis sûr que c'est possible mais si cette fonctionnalité de base n'est pas évidente, je préférerai chercher quelque chose de mieux;)
sorin
23

Utilitaire intégré pour macOS et Linux

Si cela ne vous dérange pas d'utiliser le terminal, la diffcommande peut comparer les répertoires.
Cet utilitaire est également disponible dans la plupart des distributions Linux.

diff -rq directory1/ directory2/

-rindique récursivement à travers les sous-répertoires, et -qdonne une brève sortie (c'est-à-dire ne montre pas les différences réelles, notez simplement quels fichiers / répertoires sont différents).

Les autres options utiles sont les suivantes:
-ssignaler des fichiers identiques,
-iignorer la casse dans le contenu du fichier,
--ignore-file-name-caseignorer la casse lors de la comparaison des noms de fichiers.

Si vous souhaitez éviter les avertissements (principalement des avertissements d'utilité) concernant les différences dans les .DS_Storefichiers, utilisez alors:

diff -rq directory1/ directory2/ | grep -v .DS_Store
Adam Parkin
la source
17

Diffmerge devrait répondre à toutes vos exigences.

JRobert
la source
J'espère juste qu'ils feront un programme d'installation qui pourra installer les démarreurs de ligne de commande et améliorer l'expérience d'installation actuelle.
sorin
2
C'est un vieux sujet - mais je l'ai installé via brew cask install diffmergeet il s'est installé sans problème.
Rainer
Avril 2016: Il est toujours maintenu et reste l'un de mes outils de développement préférés.
JRobert
4

J'ai récemment acheté une copie de Kaleidoscope (environ 40 $ US). C'est une application propre.

vimdiff est également disponible via la ligne de commande et est portable sur la plupart des domaines UNIXy.

Nate
la source
J'utilise Kaléidoscope depuis quelques mois maintenant. Vaut le prix. Il est mis en vente occasionnellement.
Ian C.
Kaleidoscope ne vous permet pas d'éditer un fichier, inutile!
mathieug
3

Un autre outil intéressant pour y parvenir est rsync, comme décrit sur Unix et Linux StackExchange . Pour comparer deux dossiers, vous pouvez le faire

rsync -avun $SOURCE $TARGET

Et si vous êtes vraiment préoccupé par la cohérence des fichiers / la pourriture des bits, il existe également l'option c pour comparer les sommes de contrôle des fichiers

rsync -avnc $SOURCE $TARGET
n1000
la source
Grande référence pour son utilité sur tous les Unix 🙏🏻.
dan
2

L'outil de différenciation fourni avec Text Wrangler de Bare Bones Software propose une comparaison de répertoires, bien qu'il ne montre que les fichiers qui se trouvent dans les deux répertoires et ceux qui se trouvent uniquement dans chacun des répertoires. Lorsque vous sélectionnez un fichier dans les deux, vous pouvez le modifier en fusionnant les modifications ligne par ligne en cliquant sur un bouton. Cela ne vous permet pas de déplacer des fichiers. Vous devez le faire en externe (par exemple via le Finder).
Je trouve que c'est l'une des meilleures options gratuites.

Jason S
la source
1

Solution la plus simple: synchronisez les fichiers à l'aide de Dropbox ou similaire, puis utilisez simplement WinMerge sous Windows.

L'utilitaire FileMerge fourni avec Xcode ne compare pas les dossiers et ne fait pas de fusion / édition.

J. Kline
la source
1

Vous devriez essayer le puissant mélange de logiciels open source . La version Mac peut être trouvée sur Meld for OSX . Il prend en charge la comparaison de répertoires et de fichiers et fonctionne très bien sous Mac.

On m'a dit d'améliorer cette réponse et d'expliquer pourquoi la fusion est bonne. De manière générale, Meld est un logiciel de comparaison de fonctionnalités complet principalement utilisé dans GNOME. C'est mieux que beaucoup de logiciels listés ici car

  1. c'est gratuit et open source. Vous n'avez donc pas à vous soucier des frais ou de la sécurité
  2. sinon plus puissant, il est aussi sophistiqué que beaucoup de logiciels qui vous demandent beaucoup d'argent
  3. il est convivial et n'implique pas de configuration complexe ou de commande de saisie dans le terminal. Vous devriez pouvoir l'utiliser immédiatement après l'avoir installé.

La partie qui n'est pas aussi bonne pourrait être qu'elle est développée sous GTK. Parfois, cela ne ressemble pas à des programmes MAC naturels. De plus, les anciennes versions MAC étaient un peu boguées. Mais la dernière version 3.19.2 que j'utilise actuellement fonctionne très bien et je n'ai jamais rencontré de problème.

Bob
la source
0

J'ai comparé des structures de grands dossiers (DVD) dans le passé et j'avais développé un utilitaire de ligne de commande pour ce faire. J'ai récemment rendu l'utilitaire (CrcCheckCopy) gratuit et multiplateforme (MacOS et Windows).

CrcCheckCopy analyse le dossier source et crée un fichier contenant les tampons CRC de tous les fichiers. Ensuite, ce fichier est utilisé pour comparer le dossier cible.

Vous pouvez l'obtenir à partir d'ici: https://www.starmessagesoftware.com/crccheckcopy Vos commentaires vous seront très appréciés.

Mike
la source