Je voudrais commencer à baliser mes binaires déployés avec le numéro de révision SVN le plus récent.
Cependant, étant donné que SVN est basé sur les fichiers et non sur les répertoires/projets, je dois parcourir tous les fichiers du répertoire et des sous-répertoires pour déterminer le numéro de révision le plus élevé.
Utiliser svn info
à la racine ne fonctionne pas (il rapporte simplement la version de ce répertoire, pas des fichiers dans les sous-répertoires):
Je me demandais s'il existe un raccourci en utilisant la commande svn
pour le faire. Sinon, quelqu'un peut-il suggérer un script simple et efficace (je préférerais qu'il n'accède pas du tout au serveur distant)?
Je comprends aussi qu'une approche alternative est de maintenir un fichier de version avec les svn:keywords
. Cela fonctionne (je l'ai utilisé sur d'autres projets), mais je me lasse de devoir m'assurer que le fichier est modifié et de gérer les conflits de fusion inévitables.
Réponse J'ai réalisé que mon problème venait du fait que je n'avais pas effectué un svn up
adéquat avant d'appeler svn info
dans le répertoire racine:
$ svn info
Chemin: .
...
Auteur de la dernière modification: fak
Révision de la dernière modification: 713
Date de la dernière modification: 2008-08-29 00:40:53 +0300 (Ven, 29 août 2008)
$ svn up
À la révision 721.
$ svn info
Chemin: .
...
Révision: 721
Auteur de la dernière modification: reuben
Révision de la dernière modification: 721
Date de la dernière modification: 2008-08-31 22:55:22 +0300 (Dim, 31 août 2008)