Modifier un log de commit (Subversion)
Avec svn, il arrive parfois que certains oublient de commenter leurs commits.
Problématique
Lorsqu’on travaille avec un outil de suivi de développement tel que SVN [1] il est important de toujours commenter ses commits.
Malheureusement, il arrive parfois que l’étourdi de service oublie de suivre les bonnes règles du développeur. Dans ce cas il faut alors mettre à jour un commit à posteriori.
Hooks
Subversion de son coté permet de retravailler un commit grâce aux hooks [2].
Les Hooks sont des scripts qui permettent d’intervenir à différents moment de la vie d’un commit. On peut ainsi retravailler un commit ou bien brancher un robot qui enverra des notifications, ...
Activation du hook
Linux
Si on utilise Linux, il faut renommer le fichier pre-revprop-change.tpml
en pre-revprop-change.sh
ou en pre-revprop-change
selon les distributions.
Comme c’est un script il doit être exécutable par l’utilisateur svn
.
Windows
Si on utilise Windows, il faut créer le fichier pre-revprop-change.bat
avec le code suivant :
Le code est de Nathan Creek <nathan_at_adweb.com.au>
Date : 2004-11-11 02 diffusé sur la liste de discussion Subversion [3]
Vous trouverez aussi un autre version sur la liste : http://svn.haxx.se/users/archive-20..., toutefois celui ci ne semble pas marcher sur toutes les version Windows
Utilisation
Depuis un poste client, la commande à utiliser est
svn propset svn:log <Message> -r<revision> --revprop <serveur>
-
: Nouveau message de commit -
: révision dont le log est à mettre à jour -
: url complète du serveur SVN
Par exemple :
Messages
1. Modifier un log de commit (Subversion), 1er avril 2009, 10:48, par arnod’mental
Merci pour cette info que je cherchais.
A titre d’info complémentaire :
– Je suis sur une debian 5. Dans mon cas j’ai du renommer pre-revprop-change.tmpl en pro-revprop-change tout court
– Mon dépôt subversion est relié à un Trac. Donc à la suite d’une modification du log il faut resynchroniser la base de trac :
root (ou www-data) : trac-admin /path/to/trac/project resync
2. Modifier un log de commit (Subversion), 4 avril 2010, 18:20, par thierrybo
Bonjour,
je confirme, sous Debian/Ubuntu (les autres linux sans doute pareil), il ne FAUT PAS AJOUTER D’EXTENSION au fichier ,sinon ça ne marche pas (2 heures que je me bas avant de lire de commentaire ci-dessus !
3. Modifier un log de commit (Subversion), 5 avril 2010, 22:48, par km
Bonjour
Merci pour les retours, la documentation a été mise à jour en conséquence.
4. Modifier un log de commit (Subversion), 6 octobre 2010, 05:10
exemple avec la version 1.6 d’ubuntu
cd /repository/hooks/
ln -s pre-revprop-change.tmpl pre-revprop-change
chmod u+x pre-revprop-change
cd /bla/bla/bla/trunk
svn propset —revprop -r219 svn:log ’test mod msg commit’
5. Modifier un log de commit (Subversion), 10 février 2011, 09:03, par Devether
Un billet toujours utile même plus de deux ans après. Merci !
6. Modifier un log de commit (Subversion) sous centos6.4, 19 juillet 2013, 11:37, par adreseau
@thierrybo Merci pour ton aide, c’est la même astuce sous Centos 6.4 et donc sous red-hat je suppose