Subversion

Subversion est un gestionnaire de version de projet, il est le descendant et le successeur de cvs. Subversion a hérité des commandes de son ancetre mais avec beaucoup plus de possibilité de configuration, en effet l'administrateur de serveur a plus de possibilité sur la gestion des droits écriture/lecture sur les différents partis d'un dépot. Au niveau de la sécurité la liaison avec le dépot peut se faire via une connexion crypté de type https.

Voici comment proceder pour l'installer :

aptitude install subversion

Vous aurez besoin d'un éditeur de text :

Pour cela vous aurez besoin de la variable SVN_EDITOR dans votre environnement.

vi /etc/profile
rajoutez
export SVN_EDITOR=/usr/bin/vi

Imaginons que vous avez un projet de mariage avec un dossier mariage à la racine, dedans un fichier organisation-table.xls, et invités.mh que vous voulez modifier et completer en accord avec votre vilaine mais chacun de votre coté.

Créé le repertoire mariageSVN ou vous voulez (ici à la racine)

cd / && svnadmin create mariageSVN

Allez dans votre fameux repertoire mariage :

cd /mariage

Maintenant il faut intégrer les fichiers que vous désirez dans le repertoire svn

svn import file:///mariage/ -m "import initial du projet mariage"

Le texte qui suit l'option -m est inséré dans le log.

Récupération des données (sur un autre ordinateur client du serveur svn) ! ! !

Pour pouvoir utiliser un référentiel Subversion, la première chose à faire est un “checkout” qui consiste à récupérer la dernière version de l'arborescence. Ceci créera donc un répertoire local.

svn checkout file:///home/stan/repositorySVN/
A    [...]
Révision 1 extraite.

On voit un A apparaitre avec le fichier ajouté, ceci pour l'ensemble de l'arborescence. Voici l'explication des différents codes:

  • U - ressource mise à jour (Update)
  • A - ressource ajoutée au répertoire de travail (Add)
  • D - ressource supprimée (Delete)
  • R - ressource remplacée (Replace)
  • G - ressource fusionnée (merGed)
  • C - ressource en conflit (Conflict)

TUTORIEL VENANT D'INTRA-LINKS :-x

mkdir /svn

cd svn

mkdir homes

svnadmin create –fs-type fsfs /svn/homes

svn mkdir file:/svn/homes/jc svn log file:/svn/homes -v

svn ls svn:mario.intra-links.dev/web svn checkout file:/svn/homes/jc

repository

  • Dépôt de logiciels. Un répertoire dans lequel subversion stocke les informations nécessaires au contrôle de versions d'une série de projets.

checkout

  • Opération d'extraction d'une version d'un projet du repository vers un répertoire de travail local.

commit

  • Opération de validation des modifications réalisées dans le répertoire de travail local et de propagation dans le repository d'où il est issu.

[modifier] Exemple de commande SVN

  • Pour aller chercher la version actuelle des sources d'un dépot distant, nous utilisons, par exemple :

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

  • Pour ajouter un fichier nouvellement inséré dans les sources, nous appelons :

svn add monimage.gif monsource.php

  • Pour supprimer un fichier des sources, on utilise :

svn remove vieuxtruc.php

  • Pour valider ses modifications dans les sources, on tape :

svn commit

  • Le logiciel nous demande alors le commentaire associé à ce jeu de modifications. On peut aussi préciser les fichiers que l'on veut valider, si l'on ne veut pas valider toutes ses modifications d'un seul coup. Enfin, si l'on veut mettre à jour sa copie locale, on utilisera :

svn update

SVN en ligne de commande est donc un outil relativement simple pour gérer directement sa copie locale depuis une console Linux.

svn log

  • pour voir toutes les modifications

svn update -r 3123 zouzou.js

  • revient à la version 3123 du fichier zouzou.js

[modifier] Test du service :

telnet ppp1.intra-links.net 3690

Trying 62.4.18.80…

Connected to jlc.intra-links.net.

Escape character is '^]'.

( success ( 1 2 ( ANONYMOUS ) ( edit-pipeline svndiff1 absent-entries ) ) )

 
tutoriels/gnu_linux/applications/subversion.txt · Dernière modification: 2008/08/19 15:43 (édition externe)     Haut de page