Subversion

De FrozenWiki
Aller à la navigation Aller à la recherche

Installation de Subversion sur Gentoo

Il suffit d'installer le package dev-util/subversion

Configuration d'un repository

  • Créer une structure de répertoire vide dans /var/svn/repos
  • S'assurer que le user apache appartienne au nouveau groupe svnusers nouvellement créé
  • Refléter ces droits et localisation dans le fichier /etc/conf.d/svnserve:
# Options for svnserve
SVNSERVE_OPTS="--root=/var/svn/repos"
# User and group as which to run svnserve
SVNSERVE_USER="apache"
SVNSERVE_GROUP="svnusers"
  • Les commandes suivantes peuvent être utilisées dans un script pour créer un nouveau repository:
svnadmin create "/var/svn/repos/$1"
chown -R apache:svnusers "/var/svn/repos/$1"
chmod -R g-w "/var/svn/repos/$1"
chmod -R g+w "/var/svn/repos/$1/db"
chmod -R g+w "/var/svn/repos/$1/locks"
  • Editer les fichiers de configuration dans /var/svn/repos/<repository>/conf tel que:
    • authz contienne les lignes suivantes:
[/]
username = rw
    • passwd contienne des lignes telles que:
username = password
    • svnserve.conf contienne les lignes suivantes:
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
  • Les fichiers de configuration dans /var/svn/conf devraient être configurés de même

Service SVN

Il est possible de configurer le service subversion comme un service de démarrage (via rc-update) ou comme un service listener (via xinetd.d). Je recommande l'option service de démarrage

  • Tester le lancement du service avec
/etc/init.d/svnserve start
  • Puis le configurer en tant que service définitif avec
rc-update add svnserve default

Eventuellement, ajouter svnserve au monitoring de monit en créant le fichier /etc/monit.d/svnserve:

check process svnserve with pidfile /var/run/svnserve.pid
	start program = "/etc/init.d/svnserve zap start"
	stop program = "/etc/init.d/svnserve stop"
	if totalmem > 20.0 MB for 5 cycles then restart
	if children > 3 then alert
	if children > 5 then restart
	if 3 restarts within 5 cycles then timeout

Connexion au repository subversion

La connexion au serveur est désormais possible via

svn://server/<repository>