Comment afficher la différence entre deux révisions spécifiques dans Subversion?

120

J'utilise Subversion via l'interface de ligne de commande Linux.

Je veux voir la différence entre la révision 11390 et 8979 d'un fichier spécifique appelé fSupplierModel.phpdans mon terminal. Comment puis je faire ça?

allen213
la source
Ajoutez voici comment le réappliquer
Vadzim

Réponses:

171

Voir svn diffdans le manuel:

svn diff -r 8979:11390 http://svn.collab.net/repos/svn/trunk/fSupplierModel.php
RedFilter
la source
3
Si vous voulez une jolie sortie, installez colordiff et ajoutez `| colordiff` à la fin de la commande ci-dessus pour tout faire passer à travers.
William Turrell
56

Pour comparer des révisions entières, c'est simplement:

svn diff -r 8979:11390


Si vous souhaitez comparer le dernier état validé à vos fichiers de travail actuellement enregistrés, vous pouvez utiliser des mots-clés pratiques:

svn diff -r PREV:HEAD

(Notez que sans rien spécifié par la suite, tous les fichiers dans les révisions spécifiées sont comparés.)


Vous pouvez comparer un fichier spécifique si vous ajoutez le chemin du fichier par la suite:

svn diff -r 8979:HEAD /path/to/my/file.php

ahnbizcad
la source
2
mettre HEAD: PREV semblait avoir plus de sens pour moi dans la sortie de diff, peut-être aidera les autres
Fonix
@Fonix êtes-vous dans le paradigme de "en quoi un autre commit diffère-t-il de mon état actuel"? Si oui, je suis d'accord. Je pense généralement aux changements chronologiques commits, donc les changements apportés dans HEAD auraient été les changements nouveaux / ajoutés de PREV, qui est le paradigme auquel je pense habituellement. Il y a des cas et des arguments à faire pour l'un ou l'autre paradigme.
ahnbizcad