SVN est utile pour gérer un développer à plusieurs personnes ou simplement pour gérer un projet depuis plusieurs ordinateur.
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 :
Par votre installeur c'est souvent le nom de subversion qui doit être donné pour installer votre client svn
Pour récupérer les informations depuis un dépôt faire :
Si vous modifiez des sources et voulez en faire bénéficer la communauté des développeurs faire
Pour récupérer la dernière version faire
au moyen de votre installateur de paquetages
<VirtualHost *:80>
ServerName svn.serveur.com
ServerAlias gillesmaire
DocumentRoot /usr/svn
ServerAdmin gilles.maire à ignu.fr
CustomLog "/var/log/apache2/svn_access.log" combined
ErrorLog "/var/log/apache2/svn_error.log"
<Directory /usr/svn/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Location />
DAV svn
SVNParentPath /usr/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/svn-passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
</VirtualHost>
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
svn list file:///usr/svnprivate/webooti/trunk
A distance, on peut vérifier l'accès webdav en tapant dans un navigateur :
http:://svn.serveur/projet/trunk