[[subversion]]
Piste: » subversion
Subversion
Subversion (abrégé SVN) est un système de gestion de versions visant à remplacer CVS.
Installation
Il suffit d'installer le paquet subversion.
Utilisation
Installer un serveur svn
Vous pouvez créer un repository dans le répertoire de votre choix par la commande
svnadmin create /chemin/du/repository
Vous pouvez ensuite éditer les fichiers de configuration (pour choisir mot de passe et autres) dans le répertoire créé.
Pour lancer le serveur, il suffit de lancer :
svnserve -d -r /chemin/du/repository
Pour le mettre au démarrage, créez un script exécutable /etc/init.d/svnserve (en adaptant vos chemins svn) :
#!/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"
svnserve -d -r /chemin/du/repository
log_action_end_msg $?
;;
stop)
log_action_begin_msg "Stoping SVN server"
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
Lancer avec un utilisateur SVN
Jusqu'ici, le serveur SVN est lancé avec votre utilisateur. Ce qui implique que le serveur a les même droits que vous.
Il est donc recommandé de créer un utilisateur pour lancer le serveur :
sudo addgroup svn --system sudo adduser svn --system --home /chemin/du/repository --no-create-home --ingroup svn sudo chown -R svn: /chemin/du/repository
Maintenant que nous avons un utilisateur spécifique, il faut changer le script de lancement du serveur SVN comme ceci:
#!/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"
start-stop-daemon --start --chuid svn:svn --exec /usr/bin/svnserve -- -d -r /chemin/du/repository
log_action_end_msg $?
;;
stop)
log_action_begin_msg "Stoping SVN server"
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
Donc remplacer –chuid svn:svn par ce que vous avez décider avant si vous n'avez pas utilisé comme dans l'exemple svn comme nom d'utilisateur et groupe.
Pour ajouter le serveur SVN au démarrage de la machine :
sudo update-rc.d svnserve defaults
Lancez-le alors avec :
/etc/init.d/svnserve start
Installer un serveur Subversion utilisant apache
Il faut installer Apache et une bibliothèque de Subversion pour Apache. Il faut donc installer les paquets suivants : apache2 libapache2-svn
Configuration
La configuration principale du serveur SVN se situe dans le fichier /etc/apache2/mods-available/dav_svn.conf.
Spécifier le nom de votre dépôt SVN qui correspondra en fait à un alias apache ensuite accessible via http://localhost/devsvn. Par exemple, si vous voulez que votre dépôt s'appelle « /devsvn », modifier comme ceci le fichier de configuration :
<Location /devsvn>
Enlever le commentaire sur la ligne pour activer le module :
DAV svn
Enlever le commentaire et faire pointer vers votre répertoire SVN la ligne suivante :
SVNPath /chemin/vers/RepDuProjet
Enlever le commentaire devant la ligne de fermeture de l'environnement ouvert précédemment :
</Location>
Redémarrer apache2 :
sudo invoke-rc.d apache2 restart
Créer la structure initiale du dépôt avec la commande1) :
svnadmin create /chemin/vers/RepDuProjet
Donner les droits d'accès au dépôt à Apache :
chown -R www-data /chemin/vers/RepDuProjet
Vérifier à l'aide d'un navigateur que http://localhost/devsvn réponde.
Authentification
Modifier « /etc/apache2/mods-available/dav_svn.conf » pour activer l'authentification :
# Uncomment the following 3 lines to enable Basic Authentication AuthType Basic AuthName "Depot Subversion" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user
Puis créer, avec htpasswd, le fichier « /etc/apache2/dav_svn.passwd » pour un utilisateur. Ex. :
sudo htpasswd -cs /etc/apache2/dav_svn.passwd utilisateur1
Pour créer d'autres utilisateurs, utiliser la commande :
sudo htpasswd -s /etc/apache2/dav_svn.passwd utilisateur
Faire appartenir ce fichier à l'utilisateur d'Apache :
sudo chown www-data:www-data /etc/apache2/dav_svn.passwd
Voilà, votre dépôt doit maintenant être accessible via les commandes classique svn update et svn commit sous l'URL http://machine.mondomain.org/devsvn.
Installer le plugin de Subversion dans Eclipse
En gros dans Eclipse il faut faire la chose suivante :
Menu Help → Softwares updates → Find and install…
Ajoutons à cette interface l'URL ci-dessous pour télécharger et installer le nouveau plugin
http://subclipse.tigris.org/update
mise à jour→ http://subclipse.tigris.org/update_1.2.x pour eclipse 3.2+
Pour plus d'informations sur la procédure d'installation, n'hésitez pas à jeter un coup d'œil à cette autre URL: http://subclipse.tigris.org/install.html
Note : Pour pouvoir installer de nouveaux plugin, lancer eclipse en utilisant un terminal et en tapant :gksudo eclipse
![]()
Javahl : Si vous obtenez une erreur de type ClientHlException en activant le client JavaHL (plutot que par jni) dans les préférences (Team→svn):sudo apt-get install libsvn-javahlEt sous gutsy lancer eclipse de cette façon:
eclipse -vmargs -Djava.library.path=/usr/lib/jni/
Scripts SVN pour Nautilus
Installez le paquet nautilus-script-collection-svn
Puis activez-le :
nautilus-script-manager enable Subversion
Et enfin redémarrez Nautilus.
nautilus --restart
Méthode alternative
Un outil réalisé en Python couplé aux scripts Nautilus mais permettant en même temps l'utilisation des emblèmes de Nautilus (à l'instar de TortoiseSVN sous Windows) est également disponible, il s'agit de NautilusSvn, actuellement en version 0.11.
Téléchargez et installez le paquet .deb présent à l'adresse suivante : http://jasonfield.com/freebies/ Sinon : http://code.google.com/p/nautilussvn/
