Table of Contents
“Si le C vous donne assez de corde pour vous pendre, pensez à Subversion comme une sorte de moyen de stockage de corde.” —Brian W. Fitzpatrick
Dans le monde du logiciel libre, Concurrent Versions System (CVS) a longtemps été, non sans raison, l'outil de prédilection pour le contrôle de version. CVS est lui-même un logiciel libre, et son modus operandi non restrictif, ainsi que son support des opérations via un réseau — permettant à des douzaines de programmeurs dispersé géographiquement de partager leur travail — correspond très bien à la nature collaborative du monde du logiciel libre. CVS et son modèle de développement semi-chaotique sont devenus des pierres d'angles de la culture libre.
Mais comme beaucoup d'outils, CVS commence à faire sentir son âge. Subversion est un système de contrôle de version relativement récent, conçu pour être le successeur de CVS. Les concepteurs ont fait en sorte de gagner le coeur des utilisateurs de CVS par deux moyens : en créant un système libre avec une conception (et une ergonomie) similaire à CVS, et en tentant de corriger la plupart des défauts de CVS. Bien que le résultat ne soit pas nécessairement la prochaine grande évolution des systèmes de contrôle de version, Subversion est très puissant, très utilisable, et très flexible.
Ce livre est écrit pour documenter la série 1.2 du système de contrôle de version Subversion. Nous nous sommes efforcés d'être complets. Cependant, Subversion dispose d'une communauté de développement prospère et énergique, et il y a donc déjà de nombreuses fonctionnalités et améliorations prévues pour les futures versions de Subversion qui pourraient changer certaines des commandes et des notes spécifiques de ce livre.
Ce livre est écrit pour des personnes ayant des connaissances en informatique qui veulent utiliser Subversion pour gérer leurs données. Même si Subversion fonctionne sur un certain nombre de systèmes d'exploitation, son interface utilisateur première est la ligne de commande. C'est cet outil en ligne de commande (svn) qui est traité et utilisé dans ce livre. Pour rester cohérent, les exemples de ce livre supposent que le lecteur utilise un système d'exploitation de type Unix, et est relativement à l'aise avec Unix et la ligne de commande.
Ceci dit, le programme svn fonctionne aussi dans
des environnements non-Unix comme Microsoft Windows. Mis à part quelques
exceptions mineures, comme l'utilisation de barres obliques inverses
(\) au lieu de barres obliques (/)
comme séparateur dans les chemins du système de fichiers, les entrées et
les sorties de cet outil utilisé sous Windows sont identiques à leur
équivalent sous Unix. Cependant, pour les utilisateurs de Windows,
l'exécution des exemples dans l'environnement d'émulation d'Unix Cygwin
pourra être plus simple.
Most readers are probably programmers or system administrators who need to track changes to source code. This is the most common use for Subversion, and therefore it is the scenario underlying all of the book's examples. But Subversion can be used to manage changes to any sort of information: images, music, databases, documentation, and so on. To Subversion, all data is just data.
Bien que ce livre soit écrit en supposant que le lecteur n'a jamais utilisé de contrôle de version, nous avons aussi essayé de faciliter le passage à Subversion des utilisateurs de CVS. Des encarts traiteront de temps en temps de CVS, et un appendice résume la plupart des différences entre CVS et Subversion.