Skip to content. Skip to navigation

la mont pagnotte familly

Personal tools
You are here: Home HowTo's Open Source Divers SVN alias subversion
Document Actions

SVN alias subversion

by julien last modified 2007-07-19 10:25

Subversion (en abrégé svn) est un logiciel libre de gestion de version (publié sous licence Apache/BSD).

Index
  1. installation
  2. utilisation
  3. Problemes rencontrés

Synopsis

Il a été conçu pour remplacer CVS. Ses auteurs s'appuient volontairement sur les mêmes concepts (notamment sur le principe du dépôt centralisé et unique) et considèrent que le modèle de CVS est le bon, et que seule son implémentation est en cause.

installation

nous allons exécuter la commande suivante qui va télécharger le paquet du serveur SVN (ainsi que tous les paquets dont il a besoin) puis va l'installer.

$ sudo apt-get install subversion

Une fois le serveur installé, il suffit de créer un répertoire qui va accueillir vos projets. Je vous suggère de le faire dans votre répertoire personnel.

$ cd
$ mkdir svn

Désormais, nous allons créer notre premier projet que nous nommerons monprojet

configuration

$ svnadmin create monprojet

Vous remarquerez qu'un dossier portant le même nom que votre projet a été créé. Maintenant nous allons passer à la phase de configuration du projet. Commençons par indiquer au serveur que les utilisateurs auront besoin de se faire connaitre auprès du serveur. Pour il faut modifier le fichier svnserve.conf présent dans le dossier conf du projet.

$ cd monprojet/conf
$ gedit svnserve.conf

Maintenant que ce fichier est ouvert nous allons donc le modifier. Nous décommentons le ligne suivante :

password-db = passwd

Enregistrez vos modifications, puis maintenant nous modifions le fichier passwd qui se trouve dans le même répertoire.

$ gedit passwd

Nous pouvons facilement comprendre que ce qui se situe en dessous de [users] est la liste des utilisateurs avec leur mot de passe respectif. Il faut noter que pour le moment ils sont commentés et donc non pour le moment aucun effet. Nous allons donc mettre notre nom d'utilisateur ainsi que notre mot de passe.

[users]
skit = monmotdepasse

Nous pouvons mettre autant d'utilisateur que l'on souhaite.
Une fois les utilisateurs enregistrés, nous pouvons enregistrer nos modifications.

Maintenant que le projet est configuré, nous pouvons lancé le serveur.

$ cd
$ svnserve -d -r svn/

Cette commande a pour but de lancer le serveur en mode daemon ( -d ) avec les projets contenus dans le dossier svn ( -r svn/ )

Voila, nous avons fini ce premier tutorial qui concerne l'installation et la configuration d'un serveur SVN (SubVersion)

utilisation

La première commande subversion à connaître est celle permettant d'obtenir une copie locale (sur votre machine) des sources distants (fichiers situés dans le dépôt distant). Pour cela, on utilise la commande checkout, parfois abbréviée co. On l'utilise comme suit : svn checkout <url du dépôt> Par exemple :

Exemple 4.2. Exemples d'obtention d'une copie d'un dépôt

$ svn checkout svn://svn.example.com/monprojet/trunk

La commande svn peut vous demander un mot de passe si vous utilisez un compte disposant de droits étendus. Dans ce cas, saisissez votre mot de passe lorsque le système vous le demande.

Vous devez voir alors la liste des fichiers téléchargés sur votre machine au fur et à mesure de leur arrivée, comme suit :

$ svn checkout svn://svn.debian.org/svn/debian-edu/trunk
A trunk/html
A trunk/html/logs
A trunk/html/logs/cd-build.log
A trunk/html/logs/overview.log
A trunk/html/logs/securitylist.html
A trunk/html/logs/buglist.html
A trunk/html/logs/README
A trunk/html/index.html
A trunk/security
A trunk/security/README
A trunk/src
...

Une fois téléchargés, vous disposez des fichiers dans un nouveau dossier local, et vous pouvez les lire, les modifier localement, bref, faire ce que vous voulez dessus. Vous noterez dans chaque dossier de ces sources la présence d'un dossier .svn, généralement caché. Ce dossier permet à Subversion de s'y retrouver et de savoir quels fichiers ou dossier vous avez modifié.

Mettre à jour son dépôt local

Quelques temps après avoir utilisé checkout pour aller récupérer les sources, l'on peut souhaiter mettre à jour cette copie locale, pour y récupérer les modifications effectuées par les autres développeurs. Pour cela, on utilise tout simplement la commande update. Pour lancer cette commande, il faut bien évidemment être situé dans la copie locale. En voici un exemple :

Exemple 4.3. Exemple de mise à jour d'une copie locale

trunk$ svn update 
U trunk/html/logs/overview.log
U trunk/html/logs/buglist.html
M trunk/html/logs/README
...

Vous remarquerez le détail des informations fournies par svn : les lignes avec U montrent les fichiers mis à jour, celles avec M montrent les fichiers que vous avez modifié (M) et qui n'ont donc pas été mis à jour si besoin.

Valider ses modifications sur le dépôt

Si vous effectuez des modifications dans les fichiers de votre copie locale, vous devez ensuite valider ses modifications en renvoyant les fichiers ainsi modifiés sur le serveur, au dépôt. Subversion suivant les modifications en détail, il est nécessaire d'accompagner cet envoi d'un petit commentaire expliquant de quoi il s'agit.

Pour envoyer les modifications sur le dépôt, on utilise la commande svn commit qui regarde la liste des fichiers modifiés et les renvois au dépôt. Cette commande lance votre éditeur pour vous demander de remplir le commentaire associé à vos modifications. On peut l'accompagner de la liste des fichiers à modifier, si l'on souhaite ne valider que certains d'entre eux.

Ajouter ou supprimer des fichiers au dépôt

Lorsque l'on crée de nouveaux fichiers ou dossiers dans les sources, il faut signaler à subversion que ces fichiers doivent être ajoutés au dépôt. Pour cela, on utilise la commande svn add. On précise derrière cette commande la liste des fichiers ou dossiers à ajouter au dépôt.

Problemes rencontrés

A l'occasion selon la version de SVN, on peut rencontrer certains problemes pour se connecter en decommentant la ligne concernant le fichier de password. en effet l'authentification ne fonctionne pas car le fichier de configuration est mal foutu...

des espaces se glissent parfois dans ce fichier et rende ainsi la ligne inexact par rapport à vos attentes...verifiez donc qu'il n'y ai pas d'espace sur cette ligne qui pourrait poser probleme


On rencontre egalement certains problemes de droit, verifiez donc que le proprietaire des dits fichiers est le bon. si ce n'est pas le cas, il faudra faire le chown aproprié.

Categories :
howto
OPENSOURCE
LINUX
del.icio.us tags: howto OPENSOURCE LINUX
Technorati tags: howto OPENSOURCE LINUX
Navigation
Log in


Forgot your password?
New user?
nuage de tags
RSS feed of this listing Les derniers animés
RSS feed of this listing Tutoriaux PS2
Les derniers liens