Fiche technique | |
---|---|
Catégorie : | Serveur de version |
Auteur : | CollabNet, Inc / Apache |
Date de publication : | 2000 à maintenant |
Site Web : | https://subversion.apache.org/ |
Introduction
Le SVN, connu aussi sous le nom de Subversion, est un serveur de gestion des multi-versions de code source gratuit (licence Apache et BSD) et open source. Ainsi, il est disponible sous la version svnserve, Serveur HTTP d'Apache (Apache HTTP Server) ou VisualSVN Server (propriétaire). Il est très stable et peut s'utiliser au niveau de la ligne de commande ou par des utilitaires comme TortoiseSVN, SmartSVN et RapidSVN. Il utilise généralement le port TCP 3690 pour la transmission des données entre le serveur et le client. Son utilisation est très répandu dans la communauté, des projets comme phpMyAdmin, ReactOS, osFree,... l'utilisent pour le suivi de leur version. Il peut utiliser un tronc (trunk), des branches (branch) et des tags. Cependant, Git est de loin meilleur lorsqu'il s'agit d'effectuer des fusions de branches (Merge branch).
Liste des versions
Version | Date | Commentaire |
---|---|---|
Subversion 1.0 | 23 février 2004 | C'est la première version officielle. |
Subversion 1.1 | 29 septembre 2004 | Cette version permet l'administration par FSFS et les liens symbolique |
Subversion 1.2 | 21 mai 2005 | Cette version contient le support de l'autoversionnage DAV |
Subversion 1.3 | 30 décembre 2005 | Cette version amélioration significative les performances |
Subversion 1.4 | 10 septembre 2006 | Cette version contient une bibliothèque de copie de travail flat-file, svnsync |
Subversion 1.5 | 19 juin 2008 | Cette version propose le suivi des merges et l'amélioration du Checkout |
Subversion 1.6 | 20 mars 2009 | Cette version améliore le Tree Conflict, le paquet FSFS et les fichiers externes |
Subversion 1.7 | 11 octobre 2011 | Cette version contient le WCNG, le support du protocole version 2 (v2), et le svnrdump |
Subversion 1.8 | 18 juin 2013 | Cette version contient la fusion automatique, le suivi de renommage côté client et les propriétés héritées |
Subversion 1.9 | 5 août 2015 | Cette version contient un support du FSFS format 7 et du FSX |
Subversion 1.10 | 12 avril 2018 | Cette version contient l'authz basé sur le chemin amélioré, un nouveau résolveur de conflit interactif, la compression LZ4, format FSFS format 8 et le shelving |
Subversion 1.11 | 30 octobre 2018 | Cette version contient un shelving amélioré, les points de contrôle, la résolution améliorée des conflits d'arbres (Tree Conflict). |
Subversion 1.12 | 24 avril 2019 | Cette version contient des améliorations mineurs de stabilité. |
... | ... | ... |
Remarques
- On ne peut pas faire de «commit» sur un tags.
- On utilise une branche pour du développement à long terme.
- On utilise tronc (trunk) pour des petites modifications rapides comme changer une image dans une page HTML par exemple.
- Il n'y a pas de suivi de fichier SQL d'inclus en standard. Donc, on connaît bien l'état des versions d'un projet du moment qu'il n'utilise pas de BD. Certains développeurs utilisent un dossier particulier comme «/doc» par exemple pour cette situation.
- Les «Tree Conflict» sont vraiment commun avec se logiciel.
- Un des défauts de SVN, c'est qu'il est facile à corrompre. Par exemple, si vous modifiez un fichier, et qu'un deuxième charge un fichier, ensuite vous fait un «commit» de votre fichier mais que l'autre personne n'a pas faite de «update» et fait immédiatement un «commit», il aura détruit votre modification ou il y aura un conflit.
- Étant donnée le danger que comporte le fait qu'il est possible d'effacer les tags, les branches, et voir même le tronc, de nombreuses personnes ont tendance à préféré des solutions comme le «Nexus maven repository manager».
Concurrent
Les concurrents sont assez nombreuses : Rational ClearCase (IBM), StarTeam VirtualTeam Server, Team Foundation Server (Microsoft), CVS, Git, Mercurial,...
Voir également
Système d'exploitation - Linux - Références de commandes et de programmes - svn
Articles - Pourquoi un déploiement ne fonctionne pas ?