SVN (Subversion)
De GioWiki.
Gio (discuter | contributions) (Ajout procédure pour éditer un message de log svn) |
Gio (discuter | contributions) (Activer le tag $Id$) |
||
Ligne 47 : | Ligne 47 : | ||
chown -R svn: /var/svn | chown -R svn: /var/svn | ||
- | Maintenant que nous avons un utilisateur spécifique, pour exécuter SVN au démarrage, il faut créer un script exécutable /etc/init.d/svnserve/ contenant le code : | + | Maintenant que nous avons un utilisateur spécifique, pour exécuter SVN au démarrage, il faut créer un script exécutable /etc/init.d/svnserve/ contenant le code suivant. |
+ | |||
+ | /!\ Attention à partir de Debian 6.0 il faut ajouter l'entête BEGIN INIT INFO pour éviter le problème suivant - insserv: warning: script 'svnserve' missing LSB tags and overrides | ||
<pre> | <pre> | ||
#!/bin/sh | #!/bin/sh | ||
+ | # | ||
+ | ### BEGIN INIT INFO | ||
+ | # Provides: svnserve | ||
+ | # Required-Start: $remote_fs $syslog | ||
+ | # Required-Stop: $remote_fs $syslog | ||
+ | # Default-Start: 2 3 4 5 | ||
+ | # Default-Stop: 0 1 6 | ||
+ | # Short-Description: Start and stop svnserve daemon at boot time | ||
+ | # Description: Controls the main subversion server \svnserve\ with default params. | ||
+ | ### END INIT INFO | ||
set -e | set -e | ||
Ligne 139 : | Ligne 151 : | ||
Vous n'avez plus qu'a supprimer le fichier précédemment copié sur le serveur pour interdire de nouveau l'édition des messages de logs | Vous n'avez plus qu'a supprimer le fichier précédemment copié sur le serveur pour interdire de nouveau l'édition des messages de logs | ||
rm /var/svn/projet/hooks/pre-revprop-change | rm /var/svn/projet/hooks/pre-revprop-change | ||
+ | |||
+ | = Activer le tag $Id$ = | ||
+ | Toutes les modifications suivantes sont à faire sur votre poste de travail et non côté serveur. | ||
+ | |||
+ | Éditer le fichier '''~/.subversion/config''' | ||
+ | |||
+ | Dans la partie miscellany, activez l'option suivante. | ||
+ | [miscellany] | ||
+ | enable-auto-props = yes | ||
+ | |||
+ | Dans la partie auto-props, ajouter la ligne suivante pour prendre en compte cette option pour tous les types de fichiers (*). | ||
+ | [auto-props] | ||
+ | * = svn:keywords=Id | ||
+ | Vous pouvez gérer les tags Id uniquement pour certains types de fichiers. | ||
+ | *.php = svn:keywords=Id | ||
+ | |||
+ | |||
+ | Ensuite, il ne vous reste plus qu'à ajouter cette variable ( $Id$ ) à l'endroit voulu dans votre code. | ||
+ | # $Id: nom_fichier numero_release date heure auteur $ | ||
+ | |||
+ | |||
+ | Par contre, les fichiers déjà existants ne sont pas pris en compte automatiquement. Il faut utiliser svn propset pour préparer les propriétés automatiques des fichiers existants. | ||
+ | |||
+ | Il faut bien sûr commit le fichier préparé pour prendre en compte les modifications. La variable $Id$ sera complétée automatiquement au moment de ce commit. | ||
+ | svn propset svn:keywords Id mon_fichier | ||
+ | svn commit -m "Updating automatic properties" mon_fichier | ||
+ | Informations complémentaires : [http://www.startupcto.com/server-tech/subversion/setting-the-id-tag] | ||
+ | [http://svnbook.red-bean.com/en/1.4/svn.advanced.props.special.keywords.html] |