« Vérifiez que le dossier de votre siège est relevé, que votre ceinture est correctement bouclée et que la tablette devant vous est rangée et verrouillée. Personnel de cabine, attention au décollage… »
Ce qui suit est un bref tutoriel qui couvre quelques opérations élémentaires, ainsi que la configuration de base de Subversion. Une fois que vous l'aurez terminé, vous devriez avoir une compréhension globale de la façon dont Subversion peut être utilisé.
Note | |
---|---|
Les exemples utilisés dans cette annexe supposent que vous
disposez de svn (le client en ligne de commande
de Subversion) et de svnadmin (l'outil
d'administration) prêts à l'emploi sur un système de type Unix
(ce tutoriel fonctionne également en ligne de commande sous
Windows, sous réserve de quelques adaptations triviales). Nous
supposons également que vous utilisez la version 1.2 ou ultérieure
de Subversion (tapez |
Subversion stocke toutes les données suivies en version dans un dépôt central. Pour commencer, créez un nouveau dépôt :
$ svnadmin create /var/svn/depot $ ls /var/svn/depot conf/ dav/ db/ format hooks/ locks/ README.txt
Cette commande crée un nouveau répertoire,
/var/svn/depot
, qui contient un dépôt
Subversion. Ce nouveau répertoire contient (entre autres choses)
un ensemble de fichiers constituant une base de données. Vous ne
verrez pas vos fichiers suivis en version si vous examinez le
contenu de ces fichiers. Pour plus d'informations sur la création
et la maintenance des dépôts, consultez le
Chapitre 5, Administration d'un dépôt.
Dans Subversion, il n'existe pas de concept de « projet ». Le dépôt est juste un système de fichiers virtuel suivi en versions, une arborescence qui peut contenir tout ce que vous voulez. Certains administrateurs préfèrent ne stocker qu'un seul projet par dépôt, d'autres préfèrent stocker plusieurs projets par dépôt en les plaçant dans des répertoires distincts. Les mérites de chacune de ces approches sont discutés dans la section intitulée « Stratégies d'organisation d'un dépôt ». De toute façon, le dépôt ne fait que gérer des fichiers et des répertoires, c'est donc aux humains de faire le lien entre répertoires et « projets ». Ainsi, bien que vous trouverez mention de projets dans ce livre, gardez en mémoire que nous ne parlons jamais que d'un répertoire (ou d'un ensemble de répertoires) du dépôt.
Dans cet exemple, nous supposons que vous avez déjà une sorte de
projet (c'est-à-dire un ensemble de fichiers et de répertoires) que
vous voulez importer dans votre dépôt Subversion tout neuf.
Commencez par organiser vos données dans un répertoire unique appelé
monprojet
(ou quoi que ce soit d'autre). Pour
des raisons que nous expliquons au
Chapitre 4, Gestion des branches, la structure de votre
arborescence doit contenir trois répertoires à la racine :
branches
, tags
, et
trunk
. Le répertoire trunk
doit contenir toutes vos données et les répertoires
branches
et tags
doivent être vides :
/tmp/monprojet/branches/ /tmp/monprojet/tags/ /tmp/monprojet/trunk/ Makefile machin.c truc.c …
Les sous-répertoires branches
,
tags
et trunk
ne sont pas réellement requis par Subversion. Ils font simplement
partie des conventions d'utilisation que vous voudrez certainement
suivre par la suite.
Une fois l'arborescence de vos données prête, importez-la dans le dépôt avec la commande svn import (reportez-vous à la section intitulée « Enregistrement de données dans votre dépôt ») :
$ svn import /tmp/monprojet file:///var/svn/depot/monprojet \ -m "Import initial" Ajout /tmp/monprojet/branches Ajout /tmp/monprojet/tags Ajout /tmp/monprojet/trunk Ajout /tmp/monprojet/trunk/Makefile Ajout /tmp/monprojet/trunk/truc.c Ajout /tmp/monprojet/trunk/machin.c … Révision 1 propagée. $
À présent, le dépôt contient cette arborescence de données.
Comme indiqué précédemment, vous ne verrez pas vos fichiers
directement en regardant dans le dépôt : ils sont stockés dans un
magasin de données. Mais le système de fichiers imaginaire du dépôt
contient désormais un répertoire racine appelé
monprojet
, qui à son tour contient vos données.
Notez que le répertoire original
/tmp/monprojet
n'a pas été modifié ; Subversion
ignore tout de son existence (en fait, vous pouvez même le supprimer
si vous voulez). Pour commencer à manipuler les données du dépôt,
vous devez créer une nouvelle « copie de travail » des
données, une sorte d'espace de travail privé. Demandez à Subversion
de vous « extraire » une copie de travail du répertoire
monprojet/trunk
du dépôt :
$ svn checkout file:///var/svn/depot/monprojet/trunk monprojet A monprojet/Makefile A monprojet/machin.c A monprojet/truc.c … Révision 1 extraite.
À présent, vous disposez d'une copie personnelle d'une partie
du dépôt, située dans un nouveau répertoire appelé
monprojet
. Vous pouvez éditer les fichiers
dans votre copie de travail puis propager ces changements vers le
dépôt.
Entrez dans le répertoire de votre copie de travail et éditez le contenu d'un fichier ;
lancez la commande svn diff
pour
obtenir la liste des différences que vos modifications ont
engendrée ;
lancez la commande svn commit
pour
propager la nouvelle version de votre fichier vers le dépôt ;
lancez la commande svn update
pour
« mettre à jour » votre copie de travail à partir
du dépôt.
Pour une description complète de ce que vous pouvez faire avec votre copie de travail, reportez-vous au Chapitre 2, Utilisation de base.
Dès lors, vous pouvez mettre votre dépôt à disposition sur le réseau. Consultez le Chapitre 6, Configuration du serveur pour découvrir les différents serveurs disponibles et la manière de les configurer.