Subversion
Introduction
Subversion, souvent abrégé en SVN, est un gestionnaire de version qui se veut le successeur de RCS et CVS. Un gestionnaire de version permet, comme son nom l’indique, de gérer les différentes versions d’un projet. Il est principalement utilisé pour maintenir le code source ou la documentation d’un logiciel, mais on pourrait, en théorie, l’employer dans bien d’autres domaines, comme par exemple, la conception d’un site web, ou la rédaction d’un rapport puisqu'il fonctionne avec tout fichier au format texte. Il est donc impossible de l'utiliser avec des fichiers au format binaire: que ce soient des documents (doc, docx, odt, ppt, …) ou des fichiers multimédias (png, jpg, mp3, avi, …).
Le dépôt Subversion garde en mémoire toutes les versions « commitées » (i.e. validées). Il offre ainsi la possibilité de revenir rapidement à un moment particulier du développement, ou de déterminer les différences entre deux versions quelconques. Un gestionnaire de version facilite le travail collaboratif. Plusieurs personnes peuvent en effet travailler en parallèle, et mettre à jour leurs répertoires de travail locaux en fonction des modifications apportées par les autres. Dans le cas de Subversion, le dépôt intègre au mieux les différentes modifications, même si elles portent sur le même fichier. En cas de conflit, par exemple si la même partie du même fichier a été modifiée, le serveur prévient alors l’utilisateur et lui propose plusieurs solutions, comme par exemple, modifier sa version locale, ou celle en ligne.
Un gestionnaire de version est donc un outil quasi indispensable pour mener correctement un projet à plusieurs, mais il peut également s’avérer très utile pour un projet personnel.
Quel client subversion utiliser ?
Si vous utilisez Subversion de manière intensive et régulière, vous gagnerez un temps considérable en apprenant à vous servir du client SVN en ligne de commande (sous Linux et sous Mac OS). Et ce d'autant plus que vous pouvez « scripter » les commandes que vous utilisez régulièrement.
Vous pouvez également utiliser des clients graphiques qui bien souvent ne sont qu'une interface graphique au dessus de la ligne de commande. Il en existe plusieurs, comme par exemple les clients open-source : RapidSVN (multiplateforme), ou TortoiseSVN (une extension de l’explorateur Windows).
Il existe également des plugins pour Eclipse : subclipse et subversive.
Comment bien utiliser subversion ?
Vous pouvez trouver toute l'information nécessaire dans l'ebook :
- Gestion de versions avec Subversion publié par O'Reilly Media
Vous trouverez une documentation assez complète pour démarrer et comprendre l'utilisation de Subversion à l'adresse suivante:
Créez les trois répertoires de base dans votre dépôt :
trunk, branches et tags
Comment accéder à mon dépôt ?
Vous pouvez accéder à votre dépôt via l'URL suivante:
https://forge.ens.math-info.univ-paris5.fr/svn/NomDeVotreGroupe
Par exemple, pour le groupe 2015-l1a1, l'URL a utiliser est la suivante :
https://forge.ens.math-info.univ-paris5.fr/svn/2015-l1a1
Exemple: Comment démarrer un projet subversion ?
1. Se mettre dans un dossier dédié sur son ordinateur et récupérer une copie de travail
cd monDossierDeMonprojet svn co http:/mon.serveur.svn.fr/monprojet
2. Modifiez vos fichiers vos fichiers en local puis ajoutez les à la base
svn add monfichier
3. Créez de nouveaux fichiers puis ajoutez les à la base
svn add nouveaufichier
4. Reverser vos modifications sur le serveur
svn commit --username nom_du_compte -m "Message de journalisation"
Exemple: Comment continuer un projet subversion ?
1. Se mettre dans un dossier dédié sur son ordinateur et mettre à jour votre copie de travail
cd monDossierDeMonprojet svn update
2. Modifiez vos fichiers vos fichiers en local
3. Créez éventuellement de nouveaux fichiers puis ajoutez les à la base
svn add monfichier
4. Reverser vos modifications sur le serveur
svn commit -m "Message de journalisation"
Liens utiles
Subversion
- Gestion de versions avec Subversion (Documentation complète publiée par O'Reilly Media)
- Gérez vos projets à l'aide du gestionnaire de versions Subversion (Cours sur OpenClassrooms)
- Introduction à Subversion (Documentation synthétique)
- Aide mémoire : ici
Tortoise SVN
- Tutoriel TortoiseSVN (Documentation TortoiseSVN)
Symphony
- How to Create and Store a Symfony Project in Subversion (Présente comment bien utiliser le serveur SVN avec un projet Symfony/en)
Git
Pour ceux qui sont dans un contexte nécessitant l'utilisation de Git:
- Oh My Git! est un jeu qui permet d'apprendre à utiliser Git
Vous trouverez un aide-mémoire Git ici