Annuaire «diff»?

8

J'ai deux répertoires qui sont des versions différentes du même progiciel. Je voudrais lister tous les fichiers / répertoires qui ont changé entre les deux puis copier ces différences dans un nouveau répertoire.

J'ai essayé différents scripts avec md5sumet diff -Nurqmais n'ont pas été en mesure d'obtenir le résultat que je suis à la recherche.

Des recommandations?

Riches
la source
Que signifie «copier une différence»?
cjm
Je ne comprends pas ce que tu essaies de faire. diff -r(ou variations) vous donne déjà les différences. Qu'essayez-vous de faire avec eux?
Gilles 'SO- arrête d'être méchant'

Réponses:

8

Vous devez utiliser à la rsyncplace. Quelque chose comme rsync -rv $old/ $new/ça devrait faire l'affaire: cela imprimera les fichiers sur lesquels il va être copié.

Exécutez avec supplémentaire -npour un essai à blanc avant de modifier réellement le nouveau répertoire.

alex
la source
5

Le meilleur outil que j'ai trouvé est d'utiliser vim avec le plugin DirDiff . Si vous utilisez vimet vimdiff, ce plugin sera facile à apprendre.

L'auteur le décrit ainsi:

la description

Il s'agit d'un utilitaire qui effectue un diff récursif sur deux répertoires et génère une "fenêtre" diff. Sur la base de cette fenêtre, vous pouvez effectuer diverses opérations de diff, telles que l'ouverture de deux fichiers en mode diff de Vim, copier le fichier ou le répertoire de manière récursive dans l'autre, ou supprimer l'arborescence de répertoires du répertoire source.

DirDiff est comme utiliser vimdiffpour comparer deux répertoires, et tous les sous-répertoires et fichiers qu'ils contiennent. J'utilise souvent cet outil pour comparer différentes branches Subversion, répertoires de configuration sur différents hôtes, etc.

Pour une capture d'écran, consultez le blog de dedm: http://dedm.livejournal.com/115224.html

Stefan Lasiewski
la source