J'ai besoin d'obtenir la liste des fichiers modifiés entre deux révisions dans SVN.
J'ai utilisé la commande suivante:
svn diff -r 5001:6001 --summarize https://svn.blah.com/../ > output.txt
Pour une raison quelconque, les fichiers modifiés sur la révision 5001 ne sont pas remplis dans le fichier texte de sortie.
Quelle est la commande exacte pour extraire la liste des fichiers entre les deux révisions (y compris de et vers les révisions, c'est-à-dire, y compris la révision 5001 et la révision 6001)?
Essayez svn diff -r 5000:6001
au lieu. Pour comprendre cela, considérez ce qui suit: quelle serait la sortie de svn diff -r 100:100
ressembler? Il ne montrerait aucun changement, car les révisions sont les mêmes. Pour voir les modifications de la révision 100, nous devons utiliser -r 99:100
.
La réponse de Dirk-Willem van Gulik est parfaite si vous voulez tous les changements. Cependant, si vous ne souhaitez modifier que la liste des fichiers, ajoutez - synthétisez le commutateur à votre commande,
svn diff -r 13447:HEAD
Essayez svn log -r 5000:6001 -v
pour obtenir la liste des fichiers. Cela donne la liste des fichiers classés par révision no. Ainsi, on peut avoir une meilleure idée de quels fichiers sont passés dans quelle révision en un coup d'œil.
svn diff -r v1:v2 --summarize | awk '{print $2}' > filelist.txt
Explication:
svn diff -r v1:v2 --summarize
vous fournit l'état et le nom du fichier séparés par un caractère de tabulation. Vous devez sélectionner la chaîne après le caractère de tabulation - le deuxième champ. Vous pouvez le faire en utilisant awk
et rediriger la sortie vers filelist.txt