Dans svn, j’ai une twig qui a été créée, disons à la révision 22334. Des commits ont ensuite été faits sur la twig.
Comment puis-je obtenir une liste de tous les fichiers qui ont été modifiés sur la twig par rapport à ce qu’il y a sur le tronc? Je ne veux pas voir les fichiers modifiés sur la ligne entre la création de la twig et “maintenant”.
Cela le fera je pense:
svn diff -r 22334:HEAD --summarize
Vous pouvez également obtenir une liste rapide des fichiers modifiés si c’est tout ce que vous recherchez en utilisant la commande status avec l’option -u
svn status -u
Cela vous montrera la révision du fichier dans la base de code actuelle par rapport à la dernière révision du référentiel. Je n’utilise diff que lorsque je veux voir les différences entre les fichiers eux-mêmes.
Il y a un bon tutoriel sur la commande svn ici qui explique beaucoup de ces scénarios courants: Référence de commande SVN
Cela ne listera que les fichiers modifiés:
svn status -u | grep M
Vous pouvez utiliser la commande suivante:
svn status -q
Selon svnbook :
With --quiet (-q), it prints only summary information about locally modified items.
ATTENTION: La sortie de cette commande affiche uniquement votre modification. Je suggère donc de faire un svn up
pour obtenir la dernière version du fichier, puis utiliser svn status -q
pour obtenir les fichiers que vous avez modifiés.
L’option -u affiche notamment les fichiers objects s’ils sont ajoutés lors de la compilation.
Donc, pour surmonter cela, vous pouvez également utiliser comme ça.
svn status -u | grep -v '\?'
echo You must invoke st from within branch directory SvnUrl=`svn info | grep URL | sed 's/URL: //'` SvnVer=`svn info | grep Revision | sed 's/Revision: //'` svn diff -r $SvnVer --summarize $SvnUrl