1.  Installation de subversion sur Debian Etch

Sur la machine serveur, on va installer subversion et le module apache. Le répertoire contenant la base de données svn sera /var/subversion/depot, le(s) fichier(s) de conf seront dans /var/subversion/conf.

# aptitude install subversion
# mkdir /var/subversion/depot
# chown -R www-data.www-data /var/subversion/depot
# svnadmin create /var/subversion/depot/
# aptitude install apache2 libapache2-svn 
# a2enmod dav_svn

Éditer le fichier /etc/apache2/mods-enabled/dav_svn.conf pour que le dépôt du serveur svn soit accessible sur http://www.serveur.fr/svn avec authentification obligatoire.

<Location /svn>
	DAV svn
	Require valid-user
	SVNPath /var/subversion/depot
	AuthType Basic
	AuthName "Mon dépot"
	AuthUserFile /var/subversion/conf/passwd
</Location>

Maintenant créons de quoi assurer l’authentification : le fichier passwd indiqué dans le dav_svn.conf :

# mkdir /var/subversion/conf
# htpasswd -c /var/subversion/conf/passwd nico
# /etc/init.d/apache2 restart

2.  Utilisation

Sur une machine cliente, on a un répertoire «projetX22» sur lequel on veut travailler avec le svn installé sur la machine serveur http://www.serveur.fr. Comme il y aura d’autres projets, on voudrait le placer dans un répertoire «projets» du serveur svn. Voici comment faire

2.1  Initialisation

Sur la machine cliente

$ svn import projetX22 http://www.serveur.fr/svn/projets/projetX22 -m "Premier import"
$ mv projetX22 projetX22.backup
$ svn checkout http://www.serveur.fr/svn/projets/projetX22

2.2  synchronisation

On se place maintenant dans le répertoire projetX22 de la machine cliente.

Modifier un des fichiers

$ vim unDesFichiersDuRep
$ svn status
$ svn commit
$ svn status

Ajouter un nouveau fichier

$ vim unNouveauFichier
$ svn add unNouveauFichier
$ svn commit