Outils pour utilisateurs

Outils du site


francois:svn

Ceci est une ancienne révision du document !


SVN

Installation

Serveur SVN seul

Tout d'abord, créez un dépôt (nous considèrerons le repertoire projet1). sudo -u svn svnadmin create /home/svn/projet1 Création des utilisateurs SVN

Vous pouvez ensuite éditer les fichiers de configuration (pour choisir mot de passe et autres) dans le répertoire créé (nous considèrerons le dépôt projet1). Dans le répertoire /home/svn/projet1/conf/ il faut éditer le fichier svnserve.conf avec au minimum :

   [general]
   # Les utilisateurs non auth : none/read/write
   anon-access = none
   # Les utilisateurs auth : none/read/write
   auth-access = write
   # le fichier de password
   password-db = passwd
   # Cette option spécifie l'authentification du référentiel.
   # Si deux repo ont les mêmes référentiels d'authentification,
   # ils devraient avoir le même mot de passe de base de données, et vice versa.
   # Le domaine par défaut est le référentiel uuid.
   realm = projet1
   

il faut éditer le fichier passwd pour qu'il ressemble à :

   [users]
   # nom   =  mot de passe
   joeuser = joepassword
   jayrandom = randomjay

Lancer le serveur

Pour lancer le serveur, il suffit d'exécuter : sudo svnserve -d -r /home/svn Il est possible (et conseillé) d'automatiser le lancement de SVN afin de ne pas avoir à taper cette commande à chaque démarrage de la machine. Voir plus bas. Le port par défaut écouté par svnserve est 3690. Accès

Le dépôt créé est désormais accessible, via les commandes SVN de base, à l'adresse :

svn://mon_serveur/projet1

Automatiser le lancement de SVN

Jusqu'ici, le serveur SVN est lancé avec votre utilisateur. Ce qui implique que le serveur a les mêmes droits que vous. Il est donc recommandé de créer un utilisateur pour lancer le serveur et le définir comme propriétaire du dépôt (nous prendrons ici l'utilisateur svn) :

sudo addgroup svn --system
sudo adduser svn --system --home /home/svn --no-create-home --ingroup svn
sudo chown -R svn: /home/svn

Si un nouveau repos est créé alors nous conseillons d'utiliser plutôt la commande :

sudo -u svn svnadmin create /home/svn/votre_repos

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 :

#!/bin/sh
 
set -e
if [ -x /usr/bin/svnserve ] ; then
   HAVE_SVNSERVE=1
else
   echo "Svnserve not installed."
   exit 0
fi
 
. /lib/lsb/init-functions
 
case "$1" in
   start)
       log_action_begin_msg "Starting SVN server"
       /sbin/start-stop-daemon --start --chuid svn:svn --exec /usr/bin/svnserve -- -d -r /home/svn
       log_action_end_msg $?
       ;;
   stop)
       log_action_begin_msg "Stopping SVN server"
       /sbin/start-stop-daemon --stop --exec /usr/bin/svnserve
       log_action_end_msg $?
       ;;
   force-reload|restart)
       $0 stop
       $0 start
       ;;
   *)
       echo "Usage: /etc/init.d/svnserve {start|stop|restart|force-reload}"
       exit 1
       ;;
esac
 
exit 0

ne pas oublier de rendre exécutable le script :

sudo chmod +x /etc/init.d/svnserve

Vous pouvez alors respectivement le démarrer, redémarrer et arrêter à l'aide des commandes suivantes :

sudo /etc/init.d/svnserve start
sudo /etc/init.d/svnserve restart
sudo /etc/init.d/svnserve stop

Pour ajouter le serveur SVN au démarrage de la machine :

sudo update-rc.d svnserve defaults
Note : les LSBize initScript ont changé de format; vous pouvez avoir un message d'avertissement en retour.

Utilisation

Changer la localisation d'un copie de travail

svn switch --relocate svn://old_repo/trunk file:///new_repo/trunk
francois/svn.1373118100.txt.gz · Dernière modification : (modification externe)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki