21janv.2009
Compilation installation et Configuration Subversion svn

Pour tous ceux qui voudraient se lancer dans l'installation d'un serveur SVN subversion.
Subversion est un système de contrôle des versions OpenSource distribué sous une licence compatible Apache/BSD. Cet outil en développement depuis plus de 3 ans propose un grand nombre de nouveautés par rapport à son aîné vieillissant qu'est CVS. Pour CVS, il est temps de passer la main comme a pu le faire RCS en son temps.
Pour les Debianeux et les Fedoriens qui veulent pas se prendre la tête :
aptitude install subversion subversion-tools libapache2-svn yum install subversion mod_dav_svn
Téléchargement :
Rendez vous ici
cd /opt/sources wget http://subversion.tigris.org/downloads/subversion-1.5.5.tar.bz2 mkdir /opt/svn155 cd /opt ln -s svn155 svn cd - tar -xvzf subversion-1.5.5.tar.gz cd subersion-1.5.5
Pré requis :
Un serveur apache2 fonctionnel avec mod-dav.
Compilation apache2 pour subersion :
./configure --prefix=/opt/httpd-svn --enable-module=most --enable-shared=max --enable-rewrite --enable-unique-id --enable-dav --enable-ssl --with-ssl make make install
Compilation subversion :
Script d’aide de détection de dépendances :
./autogen.sh
./configure --prefix=/opt/svn --with-apxs --with-apxs=/opt/httpd-svn/bin/apxs --with-ssl --with-ssl=/opt/openssl098h –-with-neon=/usr/bin/neon-config make make install
Ligne de compile fonctionnant aussi avec la version 1.5.5 Les binaires 1.5.X sont retro-compatible 1.4.6 mais il faut redémarrer apache.
Bien penser à rajouter ceci dans le /etc/profile :
Ce qui nous permettra d'avoir les commandes svn n'importe ou sur votre serveur.
pathmunge /opt/svn/bin
Mise à jour d'un serveur svn :
Compiler la version supérieur copier les nouveaux binaries à la place des anciens binaires relancé l’apache2 servant pour votre svn (stop/start)
Et faire ceci :
svnadmin upgrade /chemin/du/depot1 svnadmin upgrade /chemin/du/depot2
Commande : svnadmin upgrade existe à partir de la version : 1.5.0
Autre manière pour une mise à jour : dump de tous les dépôts, installation de la nouvelle version de subversion, et réimportation des dépôts.
Pour récupérer un dépôt en local (sur le serveur svn) :
svn co file:///svn/test/
Sauvegarde de dépôt :
svnadmin dump /svn/test > dump.test
Bug rencontré :
svn --help svn: Problème de version de module RA pour 'dav': 1.4.6 trouvé, 1.4.2 attendu si vous rencontrez ce message en console c’est qu’un paquet redhat de subversion est installé et entre en conflit avec votre subversion
Solution :
rpm –qa | grep subversion rpm –e subersion-redhat
En faite c'est un conflit avec un subversion installé avec votre gestionnaire de paquet.
Voir les modules spécifiques à subversion :
svn --version
svn, version 1.5.3 (r33570)
compilé Oct 20 2008, 14:32:17
Copyright (C) 2000-2008 CollabNet.
Subversion est un logiciel libre, cf http://subversion.tigris.org/
Il inclut du logiciel développé par CollabNet (http://www.Collab.Net/).
Les modules d'accès à un dépôt (RA) suivants sont disponibles :
* ra_svn : Module d'accès à un dépôt avec le protocole réseau propre de svn. - avec authentification Cyrus SASL - gère le schéma d'URL 'svn' * ra_local : Module d'accès à un dépôt sur un disque local. - gère le schéma d'URL 'file'
Ici deux modules , ra_svn et ra_local il manque ra_dav voila pourquoi on ne peut pas faire un checkout (co) en local sur le serveur svn en tapant :
svn co http://localhost/test
Trouver tous les dépôts présent sur un serveur svn :
Bien se mettre à la racine du serveur.
cd / find -name post-commit* ./svn/test/hooks/post-commit.tmpl
Vérifier l’intégrité d’un dépôt :
svnadmin verify /svn/test * Révision 0 vérifiée. * Révision 1 vérifiée. * Révision 2 vérifiée. * Révision 3 vérifiée. * Révision 4 vérifiée. * Révision 5 vérifiée.
En cas d’erreur sur un dépôt :
svnadmin recover --wait /svn/test
Rétablir une sauvegarde de dépôt :
svnadmin load /svn/test2 < dump.test
Attention pour cela il faut que /svn/test2 soit un dépôt (vide) : svnadmin create /svn/test2 (à faire avant le load)
aller plus loin : http://www.toutprogrammer.com/wiki/Installation_et_utilisation_de_base_de_Subversion

Commentaires
samedi, décembre 26 2009 | 17:50
Mon hébergeur ne me fournit pas de console SSH. Comment est-ce que je peux installer Subversion sans passer par les commandes SSH.
Merci!
samedi, décembre 26 2009 | 21:00
si tu ne peux pas prendre la main sur le serveur c'est pas possible