Chargement...
 
Installation et utilisation SVN

Présentation de SVN


SVN est utile pour gérer un développer à plusieurs personnes ou simplement pour gérer un projet depuis plusieurs ordinateurs.

Si par exemple vous disposez d'un Mac et d'un Linux et que vous développez en C++ un projet fonctionnant sous les deux environnements, vous aurez à aller sans arrêt sur l'un et l'autre de vos ordinateurs et récupérer la dernière version puis sauvegarder la version modifiée.

Dans les deux cas, ceci se fait à l'aide d'un serveur SVN. Nous allons voir comment l'installer

SVN gère donc :

  • les accès concurrents
  • l'évolution des versions
  • la distribution des sources

Installation partie client

Conventions

  • svn.serveur.com : le nom du serveur
  • /usr/svn : l'emplacement du svn
  • projet : le nom du projet


Les noms en gras doivent être changés en fonction de vos besoins

Par votre installeur c'est souvent le nom de subversion qui doit être donné pour installer votre client svn

Les commandes clients

Accès sans mot de passe


Pour récupérer les informations depuis un dépôt faire :


Si vous modifiez des sources et voulez en faire bénéficier la communauté des développeurs faire

svn commit


Pour récupérer la dernière version faire

svn update


Pour récupérer une version ancienne

svn revert num

Accès avec mot de passe


idenditique mais pour se connecter utiliser la commande

svn --username login --password mot de passe co http://svn.serveur.com/projet/trunk


Pour ajouter un fichier dans le dépôt faire

svn add fichier

Résolution de conflit


Pour résoudre un conflit, il faut savoir que le fichier comprenant le conflit se voit accompagné de plusieurs autres fichier dans son répertoire (s'il s'appelle toto) :

  • toto.r23 : ce fichier est le fichier valide de la dernière version
  • toto.r24 : ce fichier est le fichier du dépot
  • toto.mine ( sauf si toto est binaire)


toto est le fichier utilisé localement, il n'est plus en phase avec le dépot.

  • Si on es sût que le toto local est le bon il suffit de détruire toto.r23 toto.r24 et toto et de faire un svn commit

  • Si le fichier valide est le fichier toto.r23 on copie ce fichier dans toto et on détruit les fichiers r23 et r24

  • Si le fichier valide est toto.r24 on le recopie en toto et on détruit les toto munis d'autres extension.









Installation d'un serveur SVN

Installation en mode svn uniquement

  • Instaler subversion-tools

  • faire

svnadmin create projet


dans le répertoire svn/projet/conf aller modifier le fichier
password pour mettre votre mot de passe

dans le fichier svnserve.conf

décommenter

anon-access = read
auth-access = write

et

password-db = passwd

  • Puis sur le client dans le répertoire des sources (en ayant pris soin de faire make clean pour supprimer tous les fichiers non source) faire


Cette commande rapatriera les fichiers nécessaires à svn
puis faire

svn add *
svn commit



Installer le serveur avec visualisation apache

  • Installer Apache2, subversion, libapache2-svn et subversion-tools

au moyen de votre installateur de paquetages

  • Dans le fichier /etc/apache2/site-enabled mettre

<VirtualHost *:80>
ServerName private.ignu.fr
ServerAlias gillesmaire
DocumentRoot /usr/svnprivate
ServerAdmin gilles.maire à ignu.fr
CustomLog "/var/log/apache2/svn_access.log" combined
ErrorLog "/var/log/apache2/svn_error.log"
<Location /webooti>
DAV svn
SVNPath /usr/svnprivate/webooti
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/htpasswd/webooti
Require valid-user
</Location>
</VirtualHost>

En accès protégé par mot de passe


Mettre

  • AllowOverride All
  • retirer les ligne LimitExcept /limiExcept mais garder la ligne Require valid-user

Création d'un dépot sur le serveur


En général on créé un répertoire temporaire contenant le projet :

cd /tmp/
mkdir projet
mkdir projet/tags
mkdir projet/branches
mkdir projet/trunk


copier tous vos fichiers dans trunk

Par exemple si vos sources sont dans toto.tgz faire un

cd projet/trunk
tar zxvf toto.tgz


Ensuite on créé et importe ce répertoire dans le dépot

mkdir --p /usr/svn/
svnadmin create /usr/svn/projet
svn import /tmp/projet file:///usr/svn/projet -m "initial import"


Depuis le serveur, on peut vérifier la liste des fichiers par


A distance, on peut vérifier l'accès webdav en tapant dans un navigateur :

http:://svn.serveur/projet/trunk

commandes Unix / Pense bête technique

Changer de langue

Anglais (English, en)Français (fr)

Recherche