Installation des utilitaires nécessaires

Pour la mise en place d’un dépôt local, seul le paquet {subversion} est nécessaire. Suivant le gestionnaire de paquet de votre distribution, lancez son processus d’installation. Pour Debian :

apt-get install subversion

Pour Ubuntu, utilisez l’application graphique d’ajout/suppression, sélectionnez le paquet subversion pour installation et appliquez les changements.

Préparation des fichiers pour lesquels le dépôt est créé

Subversion laisse libre la hiérarchie du dépôt, cependant, comme le préconise le livre officiel, il est préférable de placer à la racine du dépôt les trois dossiers :

  • trunk (contenant la version courante)
  • tags (répertoriant les différents tags)
  • branches (répertoriant les différentes branches de développement)

Ne vous formalisez pas trop sur l’utilisation de ces dits répertoires, vous découvrirez leur utilité au fur et à mesure de votre utilisation. Pour le moment, concentrons-nous sur la création de cette hiérarchie :

shell$ mkdir /tmp/depot_a_importer
shell$ cd /tmp/depot_a_importer
shell$ mkdir trunk tags branches

Et plaçons le contenu que l’on a déjà dans le répertoire trunk. En effet, c’est ce répertoire qui est le plus utilisé, il contiendra la version courante du dépôt.

shell$ tar -xzvf mes_fichiers_sources.tar.gz -C /tmp/depot_a_importer/trunk

Si vos sources ne sont pas présentes dans une archive, copiez les directement dans le répertoire trunk.

Création du dépôt

La gestion des dépôts se fait par le biais de l’utilitaire svnadmin. Si par hasard ce dernier n’est pas installé en même temps que svn, regardez si votre distribution n’offre pas un paquet svn-utils ou quelque chose d’équivalent.

Placez-vous à l’endroit où vous souhaitez placer votre dépôt svn. Sachez toutefois que vous ne manipulerez jamais le dépôt, mais seulement le checkout de ce dernier qui sera placé à un autre emplacement. Placer un répertoire svn-depot à la racine du système de fichier est une solution acceptable. Le répertoire /var/db est également un emplacement possible.

Nous allons créer le dépôt dans un répertoire spécifique sous le répertoire /home, mais pas dans notre répertoire home :

shell$ mkdir -p /home/www-data/subversion
shell$ cd /home/www-data/subversion
shell$ svnadmin create mon_depot

Vous devriez maintenant voir apparaître un dossier nommé mon_depot dans ce répertoire avec en son sein tout un tas de choses :

shell$ ls mon_depot
conf  dav  db  format  hooks  locks  README.txt

Voilà, le dépôt est créé, importons-y maintenant les fichiers que nous avons préparé dans le répertoire /tmp :

shell$ svn import /tmp/depot_a_importer file:///home/www-data/subversion/mon_depot/mon_projet -m "First Import"

Un dépôt peut gérer plusieurs projets, nous ajoutons ici au dépôt les fichiers que nous plaçons dans un nouveau projet que nous appelons mon_projet.

Vous pouvez lister les projets contenus dans un dépôt :

shell$ svn list file:///home/www-data/subversion/mon_depot/
mon_projet/

Récupérer les fichiers du dépôt

Maintenant que nos fichiers sont gérés en amont dans le dépôt, nous pouvons en récupérer une copie de travail. En effet, si vous regardez dans le répertoire du dépôt, vous vous appercevrez qu’il n’y a aucun fichier qui ressemble à ce que nous y avons importé.

Pour récupérer la dernière version des fichiers dans un répertoire :

shell$ svn checkout file:///home/www-data/subversion/mon_depot/mon_projet/trunk ~/fichiers-du-projet
Révision 1 extraite.

Placez vous maintenant dans le répertoire ~/fichiers-du-projet, vous y retrouvez tout vos fichiers...