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
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 ) ) )