Installer Subversion

Subversion est construit sur une couche de portabilité appelée APR (« Apache Portable Runtime » en anglais, pour bibliothèque Apache de portabilité des exécutables). Cette bibliothèque APR fournit toutes les interfaces dont Subversion a besoin pour fonctionner sur différents systèmes d'exploitation : accès aux disques, au réseau, gestion de la mémoire, et bien d'autres choses encore. Bien que Subversion soit capable d'utiliser Apache comme serveur réseau, la dépendance envers APR ne signifie pas qu'Apache soit un composant indispensable. APR est une bibliothèque autonome, utilisable par n'importe quelle application. Cela signifie en revanche que, tout comme Apache, les clients et serveurs Subversion fonctionnent sur n'importe quel système d'exploitation sur lequel fonctionne le serveur Apache httpd : Windows, Linux, tous les systèmes BSD, Mac OS X, NetWare entre autres.

La manière la plus simple d'obtenir Subversion est de télécharger un programme précompilé pour votre système d'exploitation. Le site Web de Subversion (http://subversion.tigris.org) tient à disposition de nombreux paquets produits par des volontaires. Le site contient généralement des exécutables avec une interface graphique d'installation pour les utilisateurs de systèmes Microsoft. Si votre système d'exploitation est de type Unix, vous pouvez utiliser le gestionnaire de paquets fourni avec votre distribution (RPM, DEB, l'arbre des ports, etc.) pour obtenir Subversion.

Sinon, vous pouvez aussi compiler Subversion directement à partir des sources, bien que ce ne soit pas toujours facile (si vous n'avez pas l'habitude de compiler vos logiciels, choisissez plutôt de télécharger un paquet précompilé pour votre distribution). Sur le site Web de Subversion, téléchargez la dernière version du code source. Puis, après l'avoir décompacté, suivez les instructions fournies dans le fichier INSTALL pour la compilation. Notez que le fichier contenant le code source n'inclut pas forcément tout ce dont vous avez besoin pour construire un client en ligne de commande apte à communiquer avec un dépôt distant. Depuis Subversion 1.4, les bibliothèques dont dépend Subversion (apr, apr-util et neon) sont distribuées dans un paquet source distinct suffixé par-deps. Ces bibliothèques sont maintenant tellement courantes qu'elles sont peut-être déjà installées sur votre système. Sinon, vous devrez décompacter le paquet des dépendances à l'endroit où vous avez décompacté le code source de Subversion. Indépendamment de ces paquets obligatoires, vous voudrez peut-être également installer d'autres bibliothèques optionnelles telles que Berkeley DB et Apache httpd. Si vous voulez effectuer une compilation complète, assurez-vous bien d'avoir l'ensemble des paquets documentés dans le fichier INSTALL.

Si vous êtes de ceux qui aiment avoir la toute dernière version des logiciels, vous pouvez aussi obtenir le code source de Subversion depuis le dépôt Subversion. Évidemment, il faudra pour y parvenir que vous disposiez déjà d'un client Subversion… Mais, si c'est le cas, vous pouvez extraire une copie de travail du dépôt contenant le code source de Subversion à l'adresse http://svn.collab.net/repos/svn/trunk/ : [61]

$ svn checkout http://svn.collab.net/repos/svn/trunk subversion
A    subversion/HACKING
A    subversion/INSTALL
A    subversion/README
A    subversion/autogen.sh
A    subversion/build.conf
…

La commande précédente crée une copie de travail de la dernière version (non officielle) du code source de Subversion dans un sous-répertoire appelé subversion de votre répertoire de travail courant. Vous pouvez modifier le dernier argument à votre convenance. Indépendamment du nom que vous donnez au répertoire contenant la nouvelle copie de travail, une fois cette opération terminée, vous aurez à votre disposition le code source de Subversion. Bien sûr, il vous faudra encore récupérer quelques autres bibliothèques (apr, apr-util, etc.)—consultez le fichier INSTALL dans le répertoire racine de la copie de travail pour plus de détails.



[61] Notez que l'URL que l'on extrait dans cet exemple ne se termine pas par svn, mais par un sous-répertoire nommé trunk. Reportez-vous à notre discussion sur le modèle de gestion des branches de Subversion pour en comprendre la raison.