alahup! 1.1
Le CMS agile et "web 2.0"
avec éditeur sémantique

Subversion

svnX is a free Cocoa GUI for Mac OS X !

Subversion est un système de contrôle de versions qui remplace avantageusement CVS.

La façon la plus simple d'installer Subversion pour OS X est d'utiliser les packages binaires de Martin Ott.

Extrait du site officiel :

Features of Subversion

Les fonctionnalités de CVS

La plupart des fonctionnalités de CVS sont intégrées à Subversion. Lorsque c'était possible, l'interface de Subversion a été calquée sur celle de CVS.

Les répertoires, renommages et les propriétés des fichiers sont versionnés

L'historique des versions ne se fait pas uniquement sur le contenu des fichiers ou leur existence comme le fait CVS. Cet historique se fait également sur les répertoires, les copies et les renommages. Les propriétés (meta-données) des fichiers ou répertoires sont versionnées.

Les commits sont véritablement atomiques

Lorsqu'un commit est fait sur un ensemble de ressources, il faut que la globalité du commit se termine correctement pour que celui-ci soit valide. Les numéros de révision ne sont plus sur les fichiers individuellement mais sur le commit lui-même.

Apache comme serveur réseau, WebDAV/DeltaV comme protocole

Subversion utilise le protocole WebDAV/DeltaV basé sur HTTP ainsi que le serveur Web Apache. Grâce à cela, Subversion tire profit de ces derniers pour l'authentification, l'autorisation d'accès basique, la compression à la volée ou le parcourt du référentiel. Pour les personnes désirant utiliser un tunnel ssh, il existe également une version standalone de Subversion.

Gestion des branches et des tags simplifiée

Les branches et les tags sont assimilés à des opérations de "copie". Comme la création de copies, les branches et les tags ne sont que des références à des révisions dans le référentiel et nécessitent donc qu'un faible espace sur le disque.

Nativement client/serveur, architecture logicielle réfléchie

Subversion a été pensé dès le début en tant que client/serveur, évitant ainsi les problèmes de maintenance qu'a pu rencontrer CVS. Le code est structuré sous forme de modules dont les points d'entrée sont bien définis, ce qui permet de les utiliser depuis des applications tierces.

Le protocole envoie le différentiel dans les 2 directions

Le protocole réseau n'envoie que les parties différentes des ressources entre les versions du client et du serveur (CVS envoie les différences uniquement du serveur vers le client, mais pas du client vers le serveur).

Les coûts sont proportionnels à la taille des changements et non des données

En général, le temps nécessaire à une opération Subversion est proportionnel à la taille des changements qui résultent de l'opération et non de la taille du projet dans lequel les changements interviennent. C'est une des propriétés du modèle de référentiel de Subversion.

Manipulation efficace des fichiers binaires

Subversion est aussi efficace avec les fichiers binaires qu'avec les fichiers texte, car il utilise un algorithme différentiel pour transmettre et stocker les révisions successives.

Sorties interprétables

Toutes les sorties en ligne de commandes du client Subversion sont humainement compréhensibles et interprétables automatiquement par un programme; l'utilisation de Subversion avec des scripts est une priorité importante.