Table des matières
Le but de ce document est de fournir une méthode permettant l'installation d'un serveur SVN sur un système Debian et de l'utiliser
Création d'un utilisateur 'svn' dont le répertoire personnel sera /var/lib/svn
adduser --home /var/lib/svn --shell /bin/false --disabled-password svn
Création d'un dépot pour subversion
cd /var/lib/svn svnadmin create --fs-type fsfs mon_depot chown -R svn mon_depot
Modifier le script
mon_depot/conf/svnserve.conf comme
ci-dessous
[general] anon-access = read auth-access = write password-db = passwd realm = Mon premier depot SVN
Et le fichier
mon_depot/conf/passwd pour ajouter les accès au
dépot.
[users] moi = mon_mot_de_passe un_autre = son_mot_de_passe
Créer un script de démarrage du
serveur SVN : /etc/init.d/svnserve.sh
#!/bin/sh
case "$1" in
start)
start-stop-daemon --start --quiet --make-pidfile --pidfile /var/run/svnserve.pid --exec /usr/bin/svnserve -c svn:svn -- -d --listen-port 3690 --listen-host 127.0.0.1 -r /var/lib/svn/mon_depot ;;
esac
exit 0Modification des droits:
chmod +x /etc/init.d/svnserve.sh chown -R svn.www-data /var/lib/svn
L'éxécution du script démarre le serveur SVN.
/etc/init.d/svnserve.sh start
Un module d'Apache2 nous permet de visualiser le contenu d'un dépot SVN.
apt-get install apache2 libapache2-svn websvn
Ajouter un alias DNS au serveur, par exemple 'svn' Dans /etc/apache2/sites-available/svn, ajoutez :
</Directory>
Alias /websvn "/usr/share/websvn"
<Directory "/usr/share/websvn">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>Et redémarrer le serveur Apache :
/etc/init.d/apache2 restart
Imaginons que nous ayons un répertoire ~/mes_scripts et que nous souhaitions 'versionniser' son contenu.
svn --username moi --password mon_mot_de_passe \
import ~/mes_scripts svn://127.0.0.1/mes_scripts \
-m "Mise en place sous Subversion"La version initiale étant stockée sur le serveur, je renomme le répertoire local en mes_scripts.orig. Et maintenant, je peux demander au gestionnaire de versions de me créer une copie de travail locale qui supporte le 'versionning'.
svn --username moi --password mon_mot_de_passe co svn://127.0.0.1/mes_scripts
On peut maintenant travailler sur la copie locale, et suivre les modifications que l'on a effectué par rapport à la version que l'on a initialement récupérée.
~/mes_scripts/$ svn diff un_script.sh
Ou encore ' commit', Cela consiste à transférer les modifications effectuées dans la copie locale vers le serveur SVN.
Ou encore ' update'. Quelqu'un a effectué des modifications sur une autre copie de travail, et a validé celles-ci sur le dépôt. L'opération ici consiste à remettre à jour ma copie de travail pour intégrer ces modifications.
~/mes_scripts/$ svn update



Commentaires: