Subversion a été conçu pour remplacer CVS. Ses auteurs s'appuient volontairement sur les mêmes concepts (notamment sur le principe du dépôt centralisé et unique) et considèrent que le modèle de CVS est le bon, et que seule son implémentation est en cause. Le projet à été lancé en février 2000 par CollabNet, avec l'embauche par Jim Blandy de Karl Fogel, qui travaillait déjà sur un nouveau gestionnaire de versionnement.
UTILISATEURS:
Ce produit est à destination des développeurs. Il peut cependant être utilisé à d'autres fins telle la gestion de documents.
COMMUNAUTE:
C'est la version Open Source de la société CollabNet.
FONCTIONNALITES
Subversion permet de résoudre des faiblesses de CVS telles la gestion des répertoires, des liens symboliques, l'accés au serveur Subversion sans avoir besoin d'ouvrir un nouveau port sur le pare-feu de l'entreprise, l'atomicité des validations de mise à jour,...
Subversion pallie notamment aux manques suivants de CVS :
- Les commits, ou publications des modifications, ne sont pas atomiques. Inversement, un serveur Subversion utilise de façon sous-jacente une base de données capable de gérer les transactions atomiques (le plus souvent Berkeley DB);
- CVS ne connaît pas le renommage ni le déplacement d'un fichier : si on change un nom de fichier, on perd tout l'historique de ce fichier. De plus, la modification est assez lourde : avec CVS il faut supprimer l'ancien fichier et ajouter le nouveau, sans aucun rapport entre les deux (d'où la perte d'historique) ;
- Les méta-données ne sont pas versionnées : on ne peut pas attacher de propriétés, comme les permissions, à un fichier, par exemple.
Du point de vue du simple utilisateur, les principaux changements lors du passage à Subversion, sont :
- Les numéros de révision sont désormais globaux (pour l'ensemble du dépôt) et non plus par fichier : chaque patch a un numéro de révision unique, quels que soient les fichiers touchés. Il devient simple de se souvenir d'une version particulière d'un projet, en ne retenant qu'un seul numéro ;
- SVN rename (ou svn move) permet de renommer ou déplacer un fichier ;
- Les répertoires et méta-données sont versionnés.
Une des particularités de Subversion est qu'il ne fait aucune distinction entre un label, une branche et un répertoire. C'est une simple convention de nommage pour ses utilisateurs. Il devient ainsi très facile de comparer un label et une branche ou autre croisement.
ROBUSTESSE
La collaboration entre des dizaines de programmeurs qui peuvent modifier un même source a été intégrée dès la conception du produit.
DOCUMENTATION
En général très complète.
FACILITE D'EMPLOI
Ce logiciel est de plus en plus utilisé dans le monde du logiciel libre. Des anciens projets migrent quotidiennement de CVS vers Subversion pour ses fonctionalités et commandes similaires à celles de CVS.
LIENS UTILES
http://www.collab.net/index.html
http://subversion.tigris.org/
Contributeur à cette fiche : Serge Noirot (Bull)