Diretório “diff”?

8

Eu tenho dois diretórios que são versões diferentes do mesmo pacote de software. Gostaria de listar todos os arquivos / diretórios que foram alterados entre os dois e depois copiar essas diferenças para um novo diretório.

Eu tenho tentado scripts diferentes com md5sum e diff -Nurq , mas não consegui o resultado que estou procurando.

Alguma recomendação?

    
por Rich 17.05.2011 / 19:53

2 respostas

8

Você deve usar rsync . Algo como rsync -rv $old/ $new/ deve fazer o truque: isso irá imprimir os arquivos que serão copiados.

Execute com -n adicional para uma execução a seco antes de realmente modificar o novo diretório.

    
por 17.05.2011 / 20:38
5

A melhor ferramenta que eu encontrei é usar o vim com o plugin DirDiff . Se você usa vim e vimdiff , esse plug-in será fácil de aprender.

O autor descreve da seguinte forma:

description

This is a utility that performs a recursive diff on two directories and generate a diff "window". Based on that window you can perform various diff operations such as opening two files in Vim's diff mode, copy the file or directory recursively to the other, or remove the directory tree from the source directory.

O DirDiff é como usar vimdiff para comparar dois diretórios e todos os subdiretórios e arquivos contidos nele. Eu uso essa ferramenta frequentemente para comparar diferentes ramificações do Subversion, diretórios de configuração em hosts diferentes, etc.

Para uma captura de tela, veja o blog da dedm: link

    
por 17.05.2011 / 21:45