Je me suis toujours demandé comment les bons développeurs faisaient pour renseigner aussi parfaitement les premières ligne de commentaire de leur fichiers source. On y retrouve très souvent la dernière personne ayant fait une modification, la révision, la date de dernière modification.... Bref, toutes ces informations aussi importantes que pénibles à mettre à jour. Aujourd'hui, j'ai décidé de résoudre ce mystère en demandant à mon bon ami google. La réponse étant pourtant simple: Subversion et ses keywords.
Présentation des Keywords SVN
Eh oui, la solution était dans le manuel. Subversion propose en standard un méchanisme pour substituer certaines chaines de caractères (les keywords) par des valeurs dynamiques. Plus précisément:
Keyword Substitution - Subversion has the ability to substitute keywords—pieces of useful, dynamic information about a versioned file—into the contents of the file itself. Keywords generally provide information about the last modification made to the file. [Les bookmarks delicious des rédacteurs]
En fait, la liste des mots clé supportés est la suivante:
- Date (ou LastChangedDate) - date de dernière modif (remplacé par $Date: 2006-07-22 21:42:37 -0700 (Sat, 22 Jul 2006) $)
- Author (ou LastChangedBy) - dernier auteur à avoir modifié le fichier (remplacé par $Author: fbollon $)
- Revision (ou LastChangedRevision ou Rev) - révision du fichier (remplacé par $Revision: 144 $)
- Id - identifiant du fichier rassemblant les infos ci-dessus
- HeadURL (ou URL) - Url du fichier dans subversion
Utilisation des Keywords SVN
Passons à présent aux travaux pratiques. Pour ce faire, il suffit donc d'ajouter dans votre fichier ces mots clé entourés de symbole '$' tel que :
* @version $Revision$
* @modifiedby $Author$
* @lastmodified $Date$
*/
Ensuite, il faut avertir SVN que le fichier modifié contient des keywords. Il faut donc définir une nouvelle propriété au niveau du fichier:
Attention, le résultat ne sera visible que dans les working copy (ou les exports) et après avoir fait un commit. De même, les données ne seront mises à jour qu'après avoir fait un update. Dans le repository SVN, seuls les mots clé sont affichés. Au niveau des fichiers, le résultat est alors le suivant:
* @version $Revision: 296 $
* @modifiedby $Author: fbollon $
* @lastmodified $Date: 2008-10-06 16:09:13 +0200 (Mon, 06 Oct 2008) $
*/
Comme généralement, il faut appliquer cette modification à une série de fichiers, on peut utiliser la ligne de commande pour accélerer les choses:
Articles similaires
- CakePHP : sauts de ligne et maux de tête
- Projets en cours, le point.
- Nota Bene : opérateurs et types de comparaison en PHP
- Version 0.3.2 de Fredistrano disponible
- CakePHP 1.2 beta disponible
- Version 0.3 de Fredistrano disponible
- Comment choisir son langage/framework de développement web?
- Fredistrano - Déployez vos applications PHP en quelques clics
- Activer la coloration syntaxique pour les fichiers .thtml de CakePHP dans Eclipse
- PHP 6 & co.


