(cette page est inspirée de celle d' openESub
Introduction
Quand un projet implique plusieurs personnes complètement dispersées du point de vue géographique, il se pose toujours le problème de l’échange et de la modification des fichiers. Si tout le monde travaille sur les mêmes fichiers (ce qui est le cas pour Vlm), l’ensemble doit être disposé dans une source centrale et partagée que chacun modifiera. Cependant, il faut veiller à ne pas écraser le travail des autres. Si vous récupérez un fichier et si vous le replacez dans la source centrale une fois modifié par vos soins, rien ne vous dit qu’entre temps, quelqu’un n’a pas lui même effectué une autre modification que vous allez irrémédiablement écraser...
La solution existe et elle est très utilisée dans le monde du logiciel libre : ça s’appelle Subversion. Le principe est bien sûr de centraliser tous les fichiers dans un répertoire particulier appelé repository. Cependant, on ne peut pas accéder directement à ce répertoire particulier. Il faut passer par ce qu’on appelle un client Subversion qui lui ne transmettra au serveur central que les modifications que vous avez apportées tout en vous empêchant d’écraser le travail des autres... En outre, avec Subversion, vous pouvez continuellement retourner en arrière et annuler les modifications réalisées... Je ne détaillerai pas plus les fonctionnalités. Voyons comment ça s’utilise en pratique sous Windows et Linux (d’autres clients existent pour les autres systèmes d’exploitation).
Les pré-requis
Afin d’éviter que n’importe qui ne puisse modifier les fichiers, il faut obtenir auprès des responsables projet un couple login/password pour s’identifier sur le serveur SVN. Si vous n’en avez pas, vous ne pourrez que lire l’ensemble des fichiers et les récupérer. Libre à vous ensuite de proposer des modifications à la liste openesub-dev... Si vos contributions sont de qualité, ces derniers vous donneront rapidement un accès en écriture.
Le couple login/password vous permet aussi d'être authentifier sur ce Trac (ce site) et de faire plus d'opérations qu'un utilisateurs lambda.
Comment utiliser subversion sous Linux ?
Tout ce qui est nécessaire est disponible par défaut dans toute bonne distribution Linux, sinon ajoutez les programmes correspondants depuis vos CDs d’installation. Il vous faut la commande "svn". Vous pouvez cependant choisir l’éditeur de texte par défaut en renseignant la variable EDITOR. Par exemple :
export EDITOR=gedit
Il existe des clients subversion en mode graphique comme sous Windows mais, dans ce qui va suivre, nous verrons uniquement l’utilisation du client subversion en ligne de commande (bien plus rapide à l’usage).
Je n'ai pas d'accès "écriture" à subversion
Ouvrez une fenêtre de commande, placez-vous dans un répertoire de travail et tapez en user :
svn co http://dev.virtual-loup-de-mer.org/svn/vlm
ou bien
svn co http://dev.virtual-loup-de-mer.org/svn/vlmtools/NOM_DU_PROJET
Vous allez alors récupérer l'ensemble des fichiers (quelque soit la branche). Contrairement à CVS pour ceux qui connaissent, la notion de "branches" et de "tags" est vu comme une simple recopie de fichiers (via une commande spéciale "svn copy"). Dans les sous répertoires "trunk" de chaque sous-projet, vous avez donc la branche de développement la plus avancée, dans les sous répertoires "tags", vous avez les versions identifiées et publiées et dans les sous répertoires "branchs", vous avez les versions de maintenance.
J'ai un accès "écriture" à subversion
Ouvrez une fenêtre de commande, placez-vous dans un répertoire de travail et tapez en user :
svn co --username=votreUserSubversionIci --password=votrePasswordIci http://dev.virtual-loup-de-mer.org/svn/vlm
Une fois votre répertoire local mis à jour, lorsque vous avez modifié un fichier et pour le transmettre au serveur central, placez-vous dans le répertoire qui le contient et tapez :
svn commit leNomDeVotreFichier
Votre éditeur de texte s’ouvre alors pour que vous saisissiez la raison de cette modification. Faites-le puis enregistrez et fermez l’éditeur. La modification se répercute alors sur le repository central.
Pour ajouter un fichier, placez-le là où vous le souhaitez. Amenez votre fenêtre de commandes dans le répertoire qui le contient et tapez :
svn add leNomDeVotreFichier
puis
svn commit leNomDeVotreFichier
Vous pourriez rajouter également des répertoires mais cela découle plus de la responsabilité des responsables du projet (organisation). Donc, ne créez pas de répertoire sans l’accord d'un responsable.
Comment utiliser subversion sous Windows ?
Pour se servir de subversion sous windows, rien de plus simple. Il vous faut avant tout télécharger le logiciel [ TortoiseSVN].
Une fois cette version téléchargée et installée (l'installation est tout ce qu'il y a de plus classique sous windows : Next -> I agree -> Next -> Finish en gros), il vous suffit de redémarrer votre ordinateur, Windows oblige.
Ensuite, placez-vous dans le repertoire ou vous désirez que le projet soit placé. Une fois dans ce répertoire, clic droit -> SNV Checkout. Dans la fenêtre qui vient de s'ouvrir, dans le champ Url of repository, entrez http://dev.virtual-loup-de-mer.org/svn/vlm En ce qui concerne les révisions, séléctionnez HEAD Revision. Cliquez ensuite sur OK.
Vous voila maintenant avec tous les fichers du projet !
Maintenant voyons ce qu'il en est si vous voulez envoyer vos modifications au serveur ...
Bien sur, la première chose à faire est d'effectuer vos modifications dans les fichiers que vous désirez. Ensuite, il vous suffit de faire un clic droit dans le dossier et de choisir SVN Commit. Une fenêtre s'ouvre alors.
Dans le premier rectangle blanc, vous pouvez (et généralement vous devez) mettre un petit commentaire qui va permettre à toute la communauté de comprendre le but de ce changement : rajout de telle fonctionnalité, bugfix, etc ... dans la seconde partie de la fenêtre, vous pouvez choisir les fichiers à commiter ou non. Il ne vous reste plus qu'à faire OK. Vous devrez ensuite rentrer le couple login/mot de passe que les responsables vous auront donnés, et votre modification remontera ainsi sur le serveur.
Et voilà, vous savez tout !
Dernier point important, n'oubliez pas de temps en temps de vous placer à la racine de votre arborescence SVN, et de faire clic droit -> SVN Update, afin de toujours travailler sur les versions les plus recentes des fichiers du projet.
Quelques recommandations pour finir
Aucun des fichiers de Vlm n’est un fichier Microsoft Word, vous ne devez donc pas les ouvrir avec Word. Par contre, les fichiers sont pour la plupart de simples fichiers textes. Vous pouvez donc les modifier avec un simple éditeur de texte. Le plus connu sous Windows reste le ’Bloc Notes’. Si le 'MS-Bloc Note' vous cause du soucis, ajoute des extentions .txt à chaque sauvegarde par exemple, vous pouvez toujours essayer les 'classiques' gvim, emacs ou même l'excellent scite ou encore (sous MS Windows) le très bon (et GPL) Notepad++.
Le caractère ’tabulation’ est banni dans le projet Vlm. L’indentation est fixée à 4 espaces. Merci donc de configurer votre éditeur de texte pour qu’il renvoie 4 espaces en lieu et place d’une tabulation. Ou alors, plus simplement, ne touchez pas à la touche ’Tabulation’.
Subversion est un outil fantastique mais il ne remplace pas la communication. Donc si vous n’êtes pas sûr de ce que vous faites, demandez...
