Logo name
Discussion
 
Publicite

> Glossaire:SVN

SVN (Source WikiPedia)

Subversion (en abrégé svn) est un système de gestion de versions, distribué sous licence Apache et BSD. Il 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 a é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 version.

Sommaire

Les apports de Subversion

Subversion a été écrit afin de combler certains manques de CVS Voici les principaux apports :

  • Les commits, ou publications des modifications sont atomiques. 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) ;
  • Subversion permet le renommage et déplacement de fichiers ou de répertoires sans en perdre l'historique. ;
  • les méta-données sont versionnées : on peut attacher des 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.

Les principales commandes de Subversion

CommandeSignification
add Déclare l'ajout d'une nouvelle ressource pour le prochain commit
blame Permet de savoir quel contributeur a soumis les lignes d'un fichier
checkout (co) Récupère en local une révision ainsi que ses méta-données depuis le dépôt
cleanupNettoie la copie locale pour la remettre dans un état stable
commit (ci) Enregistre les modifications locales dans le dépôt créant ainsi une nouvelle révision
copy Copie des ressources à un autre emplacement (localement ou dans le dépôt)
delete Déclare la suppression d'une ressource existante pour le prochain commit (ou supprime directement une ressource du dépôt
diff Calcule la différence entre deux révisions (permet de créer un patch à appliquer sur une copie locale)
export Récupère une version sans méta-données depuis le dépôt ou la copie locale
import Envoie une arborescence locale vers le dépôt
info Donne les informations sur l'origine de la copie locale
log Donne les messages de commit d'une ressource
merge Calcule la différence entre deux versions et applique cette différence à la copie locale
move Déclare le déplacement d'une ressource
resolved Permet de déclarer un conflit de modifications comme résolu
revert Revient à une révision donnée d'une ressource. Les modifications locales sont écrasées.
status (st) Indique les changements qui ont été effectués
update (up) Met à jour la copie locale existante depuis la dernière révision disponible sur le dépôt

Dans MediaPortal

L'équipe de MediaPortal Propose des version SVN pour MediaPortal et le TV engine 3.0

Logiciels clients

Outre l'outil en ligne de commande, plusieurs logiciels pourvus d'interface graphique existent, en voici quelques-uns des plus connus et utilisés.

Autonomes

Libres

  • eSvn (GNU/Linux, FreeBSD, Solaris, Mac OS X, Windows)
  • RapidSVN (GNU/Linux, Mac OS X, Windows)
  • TkSVN (tout type d'Unix, Mac OS X, Windows)
  • SVNx (Mac OS X)
  • KDESvn (tout système qui supporte KDE)
  • USVN (User Friendly SVN, interface Web à subversion, Linux, Mac OS X, Windows)

Propriétaires

  • SmartSVN (GNU/Linux, Solaris, Mac OS X, Windows), java, propose une version gratuite (très avancée) et une version payante.
  • <oXygen/> (logiciel propriétaire pour plates-formes java)
  • SyncroSVN pour (GNU/Linux, Solaris, Mac OS X, Windows)

Extensions

Discussion
Dernière modification de cette page le 25 octobre 2007 à 10:26.
  Cette page a été consultée 484 fois.  Politique de confidentialité  À propos de MediaPortal - Support FR - Wiki  Avertissements 
IpbWikiPowered by MediaWiki