Numéro de révision dans vos sources (SVN)
Par Fred le mercredi, avril 28 2010, 18:10 - Avarice - Lien permanent
Il est très simple d'ajouter automatiquement le numéro de révision de la dernière version d'un document. Avec SVN plusieurs mots-clés peuvent être utilisés dans le document et seront automatiquement modifiés au commit.
On peut rajouter :
- Le numéro de révision
- La date de dernière modification
- L'auteur de la modification
- L'URL du fichier dans le dépôt
Les mots-clés de Subversion
Pour rajouter cette fonctionnalité, vous devez ajouter une propriété à votre fichier. Cette propriété s'appelle svn:keywords.
Ensuite, il faut donner une valeur à cette propriété. Elle indiquera à SVN quels mots-clés rechercher dans votre document.
Les mots-clés
Date (ou LastChangedDate)
La date de dernière modification du fichier, ou la date de la dernière révision liée à ce fichier.
$Date: 2010-04-30 21:42:37 +0100 (Fri, 30 Apr 2010) $
Alias:
Revision (ou LastChangedRevision, Rev)
La dernière révision du fichier.
$Revision: 208 $
Author (ou LastChangedBy)
Le nom de l'utilisateur SVN qui a été l'auteur de la révision.
$Author: fmc $
HeadURL (ou URL)
L'URL complète du fichier dans le dépôt.
$HeadURL: http://svn.fmcorz.net/repos/trunk/README $
Id
Le tout en résumé.
$Id: index.php 208 2010-04-30 21:30:43Z fmc $
Modifier ses fichiers pour SVN
A l'endroit où vous désirez voir apparaitre le mot-clé correspondant, rajouter simplement une ligne comme celle-ci :
/** * $Revision$ * $Date$ * $Author$ * $HeadURL$ */
Ces codes seront bientôt transformés automatiquement.
Ajouter la propriété svn:keywords
Maintenant, il faut signaler à SVN que votre fichier contient des mots-clés et quels mots-clés :
$ svn propset svn:keywords "Revision Date Author HeadURL Id" index.php
Vous remarquerez qu'entre les guillemets on indique les différents mots-clés compris dans ce fichier.
Le seul gros problème de cette commande c'est qu'on ne peut pas l'indiquer pour tous nos fichiers, il faut le faire un par un. Relativement chiant d'ailleurs, heureusement qu'on peut inventer une petite commande bash qui va faire cela pour nous.
Ajouter automatiquement svn:keywords sur nos fichiers
La ligne suivante rajoutera la propriété à tous vos fichiers comportant l'extension PHP en cherchant à partir du dossier courant et récursivement.
$ find . -type f -regex ".+\.php$" | awk {"print \$0"} | xargs svn propset svn:keywords "Revision Date Author HeadURL Id"
Modifier la recherche en conséquence pour l'ajouter à vos fichiers.
