System-Linux

Aller au contenu | Aller au menu | Aller à la recherche

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

Par GanGan | le mercredi, janvier 21 2009 08:10

Commentaires

1. simyo

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!

2. GanGan

samedi, décembre 26 2009 | 21:00

si tu ne peux pas prendre la main sur le serveur c'est pas possible