Subversion (logiciel)

Subversion (logiciel)

Subversion (logiciel)

Page d'aide sur l'homonymie Pour les articles homonymes, voir Subversion (homonymie) et svn.
Subversion
Subversion logo hor-468x64.png
Développeur CollabNet, Inc.
Dernière version 1.6.5 (le 21 août 2009) [+/-]
Environnements GNU/Linux, Mac OS X, Windows
Type Gestion de version
Licences Apache/BSD
Site Web subversion.tigris.org

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 le déplacement de fichiers ou de répertoires sans en perdre l'historique. ;
  • les métadonné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

Commande Signification
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.
cleanup Nettoie 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étadonné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.
lock Verrouille un fichier.
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.
propdel Enlève la propriété du fichier.
propedit Édite la valeur d’une propriété.
propget Retourne la valeur d’une propriété.
proplist Donne une liste des propriétés.
propset Ajoute une propriété.
resolved Permet de déclarer qu'un conflit de modifications est 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.
switch Met à jour la copie du dépôt.
update (up) Met à jour la copie locale existante depuis la dernière révision disponible sur le dépôt.
unlock Retire un verrou.

Logiciels clients

L'accès au serveur subversion peut se faire en utilisant son protocole natif (port TCP par défaut : 3690), ou sur une connexion HTTP (le serveur doit alors supporter les extensions WebDAV). Ces deux modes d'accès peuvent être sécurisés au niveau de la couche de transport (tunnelling SSH ou HTTPS), ce qui est particulièrement recommandé dans le cas de serveurs accessibles sur un réseau public comme Internet.

Outre l'outil en ligne de commande, plusieurs logiciels pourvus d'interface graphique existent :

Logiciels annexes

Côté serveur

  • Trac, logiciel de gestion de projet Web utilisant Subversion, implémentant un Wiki et un système de suivi de bugs (Licence BSD).
  • RedMine, logiciel de gestion de projet Web utilisant Subversion, implémentant un Wiki et un système de suivi de bugs (Licence GPL).
  • USVN (User Friendly SVN), interface web permettant la configuration de dépôts Subversion (Licence CeCILL).
  • sventon Interface web.
  • CodingTeam, Forge permettant de gérer subversion, possèdant un wiki, un système de suivi des bugs et le support de Jabber.

Voir aussi

Wikibooks-logo-fr.png

Wikibooks propose un ouvrage abordant ce sujet : la gestion de version avec Subversion.

Liens internes

Liens externes

Officiels

Divers

  • (fr) Les hooks de Subversion : présentation de la fonctionnalité "hook" de Subversion et comment utiliser celle-ci
  • Portail des logiciels libres Portail des logiciels libres
Ce document provient de « Subversion (logiciel) ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Subversion (logiciel) de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • Subversion logiciel — Subversion (logiciel) Pour les articles homonymes, voir Subversion (homonymie) et svn. Subversion …   Wikipédia en Français

  • Subversion (software) — Subversion (logiciel) Pour les articles homonymes, voir Subversion (homonymie) et svn. Subversion …   Wikipédia en Français

  • Subversion (homonymie) — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sur les autres projets Wikimedia : « subversion », sur le Wiktionnaire (dictionnaire universel) Le terme subversion a plusieurs… …   Wikipédia en Français

  • Logiciel De Gestion De Versions — Un logiciel de gestion de versions (ou VCS en anglais, pour Version Control System) est un logiciel de gestion de configuration permettant de stocker des informations pour une ou plusieurs ressources informatiques permettant de récupérer toutes… …   Wikipédia en Français

  • Logiciel suivi de problèmes — Logiciel de suivi de problèmes Un logiciel de suivi de problèmes ou système de suivi de problèmes (de l anglais issue tracking system) est un logiciel qui permet d aider les utilisateurs et les développeurs à améliorer la qualité d un logiciel.… …   Wikipédia en Français

  • Logiciel de gestion de versions — Un logiciel de gestion de versions (ou VCS en anglais, pour Version Control System) est un logiciel qui permet de stocker un ensemble de fichiers en conservant la chronologie de toutes les modifications qui ont été effectuées dessus. Il permet… …   Wikipédia en Français

  • Logiciel de groupe — Groupware Un groupware est un logiciel qui permet à un groupe de personnes de partager des documents à distance. La Commission générale de terminologie et de néologie a adopté le terme logiciel de groupe de travail (forme abrégée : logiciel… …   Wikipédia en Français

  • Logiciel de groupe de travail — Groupware Un groupware est un logiciel qui permet à un groupe de personnes de partager des documents à distance. La Commission générale de terminologie et de néologie a adopté le terme logiciel de groupe de travail (forme abrégée : logiciel… …   Wikipédia en Français

  • Logiciel de travail collaboratif — Groupware Un groupware est un logiciel qui permet à un groupe de personnes de partager des documents à distance. La Commission générale de terminologie et de néologie a adopté le terme logiciel de groupe de travail (forme abrégée : logiciel… …   Wikipédia en Français

  • Apache Subversion — Pour les articles homonymes, voir Subversion (homonymie) et svn. Subversion …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”