Question

Je compare deux dossiers presque identiques contenant des dossiers cachés .svn qui doivent être ignorés et je souhaite comparer en permanence les dossiers car certains fichiers sont corrigés afin de comparer la différence sans vérifier les fichiers correspondants inchangés.

modifier: Comme il y a tellement d'options, je suis intéressé par une solution qui exploite clairement les connaissances de la comparaison précédente, car aucune autre solution n'est vraiment réalisable lors de comparaisons répétées.

Était-ce utile?

La solution

Si vous êtes prêt à dépenser un peu d’argent, Beyond Compare est un outil de différenciation assez puissant, capable de gérer la différenciation par dossier.

Au-delà de la comparaison

Autres conseils

J'utilise personnellement WinMerge et le trouve très utile. Il a des filtres qui excluent le fichier svn. Sous linux, je préfère Fusion .

Une option serait d'utiliser rsync . Quelque chose comme:

rsync -n -r -v -C dir_a dir_b

L'option -n effectue un essai à sec afin qu'aucun fichier ne soit modifié. -r effectue une comparaison récursive. Activez éventuellement le mode commenté avec -v . (Vous pouvez utiliser -i pour détailler les modifications au lieu de -v .) Pour ignorer les fichiers généralement ignorés tels que .svn / , utilisez -C .

Cela devrait être plus rapide qu'un simple diff car j'ai lu la page de manuel rsync :

  

Rsync détecte les fichiers devant être transférés à l'aide d'un "contrôle rapide".          algorithme (par défaut) qui recherche les fichiers dont la taille a changé          ou en temps modifié en dernier. Tout changement dans l'autre préservé          les attributs (comme demandé par les options) sont créés sur le fichier de destination          directement lorsque la vérification rapide indique que les données du fichier ne sont pas          besoin d'être mis à jour.

Depuis le "contrôle rapide" algorithme ne regarde pas directement le contenu du fichier, il pourrait être dupé. Dans ce cas, l'option -c , qui effectue une somme de contrôle à la place, peut être nécessaire. Il est probable qu’il soit plus rapide qu’un diff ordinaire.

En outre, si vous envisagez de synchroniser les répertoires à un moment donné, il s'agit également d'un bon outil pour ce travail.

Pas infaillible, mais vous pouvez simplement comparer les horodatages.

Utilisez Total Commander! Tous les développeurs sympas l'utilisent:)

Si vous êtes sur Linux ou sur une variante, vous devriez pouvoir faire:

invite $ diff -r dir1 dir2 --exclude = .svn

Le -r force les recherches récursives. Il y a un tas de commutateurs pour ignorer des choses comme les espaces blancs, etc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top