Accueil du site > Ateliers > Tutoroom > Utiliser SVN sous Mac OS X avec svnX
Utiliser SVN sous Mac OS X avec svnX
mardi 6 février 2007, par ,
Lorsque l’on est plusieurs à travailler sur un projet, un logiciel serveur collaboratif facilite nettement la tâche. C’est le cas de subversion, utilisé par les équipes de développement de SPIP et de spip-zone. Mais la ligne de commande peut paraître rébarbative à certains d’entre nous, peu familiarisés avec le terminal Unix. C’est là qu’intervient svnX, qui y ajoute une interface graphique qui ne déroutera pas les habitués de Mac Os X. Comment l’installer et l’utiliser, voilà l’objet de ce tutoriel.
SvnX, un outil de Suivi de Versions pour Mac OS X
La fonction principale d’un système de suivi de versions est de permettre l’édition collaborative et le partage de données. C’est grâce à cet outil que bien des œuvres, des plugins et choses diverses se développent sur spip-zone, où tout le monde peut déposer son bout de code, récuper celui d’un autre, améliorer tel projet commencé, sans que cela ne crée de conflits liés à des modifications simultanées.
Toutes les modifications sont enregistrées sur un serveur unique. Celles-ci sont alors gérées localement sur chaque poste utilisateur par un programme spécifique, qui s’assure que les modifications faites localement ne sont pas incompatibles avec la dernière version en ligne. Il permet aussi à chacun d’effectuer des mises à jour rapides en ne récupérant que les éléments modifiés.
Nous aborderons dans ce tutoriel l’utilisation de svnX, un programme Open Source gratuit permettant sous Mac OS X d’interagir avec le serveur de versions utilisé par spip-zone. Son interface graphique permet de rendre cette opération plus intuitive et agréable que des lignes de commande en Unix tapées au terminal.
Installation de SvnX
1. Subversion
Ce package doit obligatoirement être installé avant SvnX, car ce dernier n’est tout simplement qu’une GUI (Graphic User Interface) de Subversion.
Il faut télécharger Subversion.
depuis ce site : http://www.codingmonkeys.de/mbo.
C’est une installation classique pour laquelle il suffit de cliquer sur le package binaire de Martin Ott et de se laisser guider pour l’opération.
Note : n’oubliez pas par la suite de vérifier et d’effectuer la mise à jour des versions de ce package…
2. SvnX
Le téléchargement de l’application est accessible sur le site de l’éditeur. Vous trouvez aussi sur le site des renseignements et des copies d’écrans de SvnX.
Il suffit ensuite de la placer dans votre dossier "Applications".
Utilisation simple
Lorsque vous lancez l’application, deux fenètres s’ouvrent :
L’inspecteur de dépots (Repository Inspector) ;
et L’inspecteur de copies de travail (Working Copy Inspector).
L’inspecteur de dépôt contient des informations sur tous les dossiers partagés sur le serveur (aussi appelés "dépôts") avec lesquels nous sommes synchronisés. La seconde fenètre concerne les éléments que vous avez récupérés sur votre ordi.

1. Récupération de la dernière version d’un dossier du serveur SVN
Commencez par enregistrer un nouveau dépôt :
Cliquez sur le bouton intitulé "+" de l’inspecteur de dépôts
Remplissez l’intitulé (champ "name") par exemple "plugins stables"
dans "Path", indiquez l’url du dépôt. Par exemple, pour les plugins stables : svn ://zone.spip.org/spip-zone/_plugins_/_stable_

Puis accédez au détail d’un dépôt donné : il faut double-cliquer sur la ligne correspondante dans l’inspecteur de dépôts (ce n’est pas très intuitif, il faut bien le reconnaître).
La fenêtre qui s’affiche alors permet de consulter les actions possibles sur le serveur, l’historique et la version actuelle du dépôt, ainsi qu’un mini navigateur permettant de nous y retrouver. Ce navigateur correspond à celui disponible en ligne sur le Trac de spip-zone. On voit alors que le serveur est organisé sur plusieurs niveaux de répertoires. La racine est accessible à l’adresse svn ://zone.spip.org/spip-zone/.

Pour créer notre répertoire de travail, on clique sur le bouton vert en haut intitulé SVN checkout.
Une fenêtre s’ouvre pour nous demander où l’on veut enregistrer sa copie locale.

Par exemple, indiquez le chemin vers votre serveur Apache local :
(racine du disque dur)/Bibliothèque/Webserveur/Documents/monsitespip
ou bien, si vous rangez vos sites dans le dossier Sites de votre Home :
(racine du disque dur)/Users/ nom court d’utilisateur/Sites/monsitespip
ou alors le chemin vers votre site qui tourne sur Mamp :
Disque dur/Applications/MAMP/htdocs/monsitespip
Validez, et c’est tout : vous voilà avec la dernière version disponible !! Celle-ci a été automatiquement mémorisée dans l’inspecteur de travail, intitulé "Working Copies" :

2. Mettre à jour une copie de travail
La mise à jour s’effectue via l’inspecteur des copies de travail : On double-clique alors sur la ligne de la fenètre de copies de travail.
Une nouvelle fenêtre s’ouvre, et on clique sur le bouton vert update tout en haut.

Une popup s’ouvre en nous demandant si on est sur de vouloir updater la dernière version de la copie de travail. Il faut cliquer sur oui.

En bas de la fenêtre, une petite ligne bleue clignote jusqu’à ce que le rapatriement des fichiers soit terminé. Le bouton "show output" permet de voir l’ensemble des modifications qui ont été faites. Le numéro de version de la copie de travail a éventuellement augmenté (il s’agit du numéro indiqué dans la légende "Rev NNN de svn ://zone.rezo.net").
Modification des éléments du serveur
L’intérêt d’un gestionnaire de versions est de permettre à plusieurs contributeurs d’ajouter / modifier / déplacer des éléments, tout en s’assurant que le code reste valide au fil des modifications et que chacun puisse récupérer les fichiers ainsi mis à jour.
La modification demande une authentification. Il faut pour cela saisir votre login et votre mot de passe dans les champs correspondants ("User" et "Pass") de l’inspecteur des copies de travail. Ces éléments sont disponibles sur simple demande faite sur la liste d’information de spip-zone.
1. Validation de ses modifications sur le serveur
Tout modification locale d’éléments placés sous un répertoire de travail est détectée automatiquement par SvnX. Il suffit de double-cliquer sur le répertoire principal dans l’inspecteur des versions de travail.

Les éléments que vous avez modifés sont indiqués par un ’M’ au début de leur nom. Sélectionnez alors les éléments que vous voulez valider, puis cliquez sur le bouton "commit". Une zone de saisie apparaît alors pour donner des détails sur les modifications effectuées (d’où la règle imposant le commentaire accompagnant ses modifications).
Chaque validation va incrémenter le numéro de version du dépôt. Ainsi tous les autres clients SvnX sauront qu’ils ne sont plus à jour.
2. Annuler des modifications faites localement
Vous avez fais des modifications en local qui finalement ne vous conviennent pas ? Il est très simple de revenir en arrière et de restaurer la version du dernier update/checkout. Sélectionnez le fichier ou le dossier concerné puis cliquez sur le bouton ’revert’. Attention ! Cette annulation ne peut plus être faite si vous les avez validées ("commit").
3. Ajouter un dossier sur le serveur
Cette action passe par l’inspecteur de dépôts. Une fois le dépôt sélectionné, cliquez sur le bouton "svn mkdir". Une boite de dialogue vous permet alors de choisir le répertoire dans lequel sera votre nouveau dossier (il est interdit de déposer directement des dossiers à la racine, vous devez donc vous placer dans l’un des sous-répertoires). Précisez le nom du répertoire dans la zone ’target cible’ (en validant par le bouton ’+’). Enfin remplissez la zone explicative de votre commit, afin que les autres développeurs comprennent quels éléments vous comptez déposer dans ce nouveau dossier.

Dans cet espace fraîchement créé sur le serveur, vous pouvez ensuite y mettre vos propres créations (si elles ne font pas doublon avec d’autres développements déposés sur le serveur, bien sûr).
4. Ajouter des fichiers sur le serveur
Lorsque l’on rajoute de nouveaux éléments dans une copie de travail, ceux-ci n’ont pas de version. SvnX ne possède aucune information sur eux tout simplement parce qu’ils n’existent pas sur le serveur. Ces éléments sont précédés d’un point d’interrogation dans l’inspecteur des copies de travail. Pour les ajouter au serveur afin que tous les autres développeurs puissent avoir une copie de ces fichiers, il suffit de les sélectionner et de cliquer sur le bouton ’add’.

Les éléments sont alors précédés d’un caractère ’A’. Il ne reste plus alors qu’à synchroniser votre version modifiée avec le serveur (commit avec un message explicatif). Si vous cliquez sur le bouton "Go to repository", vous verrez que vos fichiers figurent bien désormais sur le serveur. Les autres développeurs les récupèreront lors de leur prochaine mise à jour.
Attention toutefois à ne pas ajouter de fichiers binaires inutiles (comme des archives destinées uniquement à des besoins perso), ni à ajouter de fichier comportant des données sensibles. En effet les fichiers déposés existeront toujours sur le serveur, même si vous les supprimez dans une version ultérieure (le principe de base du suivi de versions est de ne jamais rien détruire)
Quelques liens indispensables
Le Tutoriel de Cent20
Le B-A BA de l’utilisation de SVN sur Windows
La chose interactive, site dédié à SvnX
un très bon article de projectomega
Gestion de Version avec Subversion : Concepts de Base
L’article de wikipedia sur Subversion







