Encontre diretórios, arquivos e árvores duplicados e sobrepostos em um sistema de arquivos.
Adicione esta linha ao Gemfile da sua aplicação:
gem 'dupless'
E então execute:
$ bundle
Ou instale você mesmo como:
$ gem install dupless
Existem duas aplicações, com implementações diferentes.
Isso encontra arquivos e diretórios duplicados que correspondem pelo menos parcialmente aos arquivos em outro diretório.
A comparação de arquivos é baseada no conteúdo do arquivo, não nos nomes dos arquivos, assim como diff
.
Isso usa cache para evitar leituras repetidas de arquivos.
Quando um par (ou mais) de arquivos de dois diretórios corresponde, os diretórios são comparados e podem ser de um destes tipos:
Idêntico: cada arquivo em ambos os diretórios possui uma correspondência no outro diretório.
Contém: cada arquivo em um diretório possui um arquivo em outro diretório, ou seja, o primeiro diretório é um superconjunto do segundo.
Incompatibilidade: dois diretórios possuem arquivos em comum, ou seja, uma interseção de pelo menos um elemento.
Isso encontra hierarquias duplicadas de arquivos e diretórios, com base apenas no nome (não no conteúdo do arquivo, em contraste com dupless
).
Dois diretórios são iguais (idênticos) se todos os diretórios e arquivos dentro de cada diretório corresponderem no segundo.
Isso não usa cache.
Superconjuntos ("contém") e interseções ("incompatibilidades") não são calculados.
Depois de verificar o repositório, execute bin/setup
para instalar as dependências. Em seguida, execute rake test
para executar os testes. Você também pode executar bin/console
para obter um prompt interativo que permitirá experimentar.
Para instalar esta jóia em sua máquina local, execute bundle exec rake install
. Para lançar uma nova versão, atualize o número da versão em version.rb
e, em seguida, execute bundle exec rake release
, que criará uma tag git para a versão, enviará commits e tags git e enviará o arquivo .gem
para rubygems.org.
Relatórios de bugs e solicitações pull são bem-vindos no GitHub em https://github.com/jpace/dupless.
A gema está disponível como código aberto sob os termos da licença MIT.