Recherchez les répertoires, fichiers et arborescences dupliqués et qui se chevauchent dans un système de fichiers.
Ajoutez cette ligne au Gemfile de votre application :
gem 'dupless'
Et puis exécutez :
$ bundle
Ou installez-le vous-même en tant que :
$ gem install dupless
Deux applications existent, avec des implémentations différentes.
Cela recherche les fichiers et répertoires dupliqués qui correspondent au moins partiellement aux fichiers d'un autre répertoire.
La comparaison de fichiers est basée sur le contenu du fichier, et non sur les noms de fichiers, comme diff
.
Cela utilise la mise en cache pour éviter la lecture répétée des fichiers.
Lorsqu'une paire (ou plusieurs) de fichiers correspondent à deux répertoires, alors les répertoires sont comparés et peuvent être de l'un des types suivants :
Identique : chaque fichier des deux répertoires a une correspondance dans l'autre répertoire.
Contient : chaque fichier d'un répertoire possède un fichier dans un autre répertoire, c'est-à-dire que le premier répertoire est un sur-ensemble du second.
Incompatibilité : deux répertoires ont des fichiers en commun, c'est-à-dire une intersection d'au moins un élément.
Cela recherche des hiérarchies de fichiers et de répertoires dupliquées, basées uniquement sur le nom (et non sur le contenu du fichier, contrairement à dupless
).
Deux répertoires sont égaux (identiques) si tous les répertoires et fichiers de chaque répertoire ont une correspondance dans le second.
Cela n'utilise pas la mise en cache.
Les surensembles (« contient ») et les intersections (« incohérences ») ne sont pas calculés.
Après avoir extrait le dépôt, exécutez bin/setup
pour installer les dépendances. Ensuite, exécutez rake test
pour exécuter les tests. Vous pouvez également exécuter bin/console
pour une invite interactive qui vous permettra d'expérimenter.
Pour installer cette gemme sur votre machine locale, exécutez bundle exec rake install
. Pour publier une nouvelle version, mettez à jour le numéro de version dans version.rb
, puis exécutez bundle exec rake release
, qui créera une balise git pour la version, poussera les commits et les balises git, et poussera le fichier .gem
vers rubygems.org.
Les rapports de bogues et les demandes d'extraction sont les bienvenus sur GitHub à l'adresse https://github.com/jpace/dupless.
La gemme est disponible en open source selon les termes de la licence MIT.