Vous êtes ici

Prise en mains de subversion

Nous allons voir dans cet article comment prendre en mains l'outil de versionning SVN.

1) Creation d'un repo svn :

svnadmin create --fs-type fsfs /home/aurelien/svn

Voir le contenu :

svn ls file:///home/aurelien/svn

Ajouter ou supprimer un repertoire virtuel dans le repo :

svn mkdir file:///home/aurelien/svn/test -m 'ajout d'un rep virtuel'

svn rm file:///home/aurelien/svn/test -m 'supp d'un rep virtuel'

-m : permet de mettre un commentaire sur la manipulation, c'est obligatoire, si vous ne le specifiez pas, une invite avec vi va s'ouvrir pour que vous editiez un commentaire.

Chaque manipulation a créée une nouvelle version

2) Envoyer un projet existant dans le svn :

svn import test1 file:///home/aurelien/svn/project/test1

3) Importer un projet du svn pour travailler :

svn checkout file:///home/aurelien/svn/project/test1

4) Ajout d'un fichier dans le projet :

touch test1

svn status  : le fichier est detecté en inconnu

on l'ajoute au projet : svn add test1

on envoi les modif sur le repo svn : svn commit -m 'ajout du fichier'

5) modifier un fichier :

une fois le fichier modifié : svn status, le fichier est en status M

faire : svn commit -m 'modif du fichier test3'

une nouvelle revision est donc dispo

6) Recuperer une ancienne version du projet :

svn checkout -r4 file:///home/adamien/svn/project/test1

Il est possible de faire un checkout d'une version precedente ou superieure dans ce meme repertoire, dans ce cas , un D signifie les fichiers en moins, un A pour les fichiers en plus, et un U pour les fichiers mises à jour

Si ajout puis commit, le fichier sera ajouté à la derniere version et une nouvelle version sera créée.

Par contre un vieux fichier modifié va créer une nouvelle version avec le vieux fichier modifié.

7) Mise à jour du repertoire local avec la version du serveur :

svn up test1 : la derniere revision du serveur et alors envoyée sur le repertoire local, les différences sont specifiées à la fin :

[email protected]: ~/Documents/preprod/project$ svn up test1
U    test1/test3
A    test1/testy4
U    test1/test
Updated to revision 8.

8) Comparer les différences entre une version du serveur et un repertoire local

svn diff -r8 test1 (r8 = numero de version, test1 = le repertoire local)

Si il n'y a pas de différences rien n'est retourné, sinon les différences sont affichées avec les commentaires associés :

[email protected]: ~/Documents/preprod/project2$ svn diff -r8 test1
Index: test1/test3
===================================================================
--- test1/test3    (revision 8)
+++ test1/test3    (working copy)
@@ -1,2 +0,0 @@
-test3
-
Index: test1/test
===================================================================
--- test1/test    (revision 8)
+++ test1/test    (working copy)
@@ -1,2 +0,0 @@
-modif
-

9) Voir les logs des revisions


Sur une fichier ou repertoire local : svn info test1 (vous allez voir uniquement les revisons qui ont été descendu sur ce rep)

Sur le repo : svn log file:///home/aurelien/svn/project/test1 (vous allez voir toutes les revisons qu'il y a eu sur ce repertoire)

Tags: 

www.le-gas.fr : Le guide de l'admin Systeme