Je vous ai déjà parlé de mon nouveau collocataire, Norris. En voulant configurer celui-ci, je me suis heurté à une légère problématique
Comment puis-je tester une application située dans mon repository SVN ?
Tout d’abord, je me suis dit "pour faire propre, je crée un repository par projet". Jusque la, facile
Ensuite, Jean-Sebastien (il ne fera pas de billet là-dessus alors que cela serait une excellente manière pour lui de remplir son blog. Qu’a cela ne tienne) m’a expliqué comment il a fait sur le dépot de projets interne à O2Sources. Le principe est au final assez simple :
SVN, utilisé comme un module Apache, permet de visualiser un dépot et d’y faire des commit via le protocole DAV (à tous les étudiants de ma promo : oui je sais, je suis passé du côté obscur de la force. Mais je n’avais pas le choix).
A partir de la, tout devient très simple ! Il existe en effet davfs, qui permet de faire un mount sur une adresse DAV. Y’a plus qu’à faire un mount sur notre chemin SVN ! Je fait donc ce mount vers le chemin ou pointe le dossier parent à tous mes repository. Oui, j’ai pas envie de faire un nouveau mount à chaque fois que je fait un nouveau repository. Ca serait un peu chiant …
Et la, "connection refused". Quelle déception ! Surtout lorsque je tente sur un autre repository SVN et que je constate que cela fonctionne. Après quelques recherches, j’ai finalement tout de même réussi à monter ma partition. En effet, en cherchant à monter le dossier parent à mon repository, qui me semblait être un dossier subversion supportant DAV puisqu’il s’affichait de la même manière que les autres dans mon visualisateur, je ne montais en fait absolument pas un dossier DAV, mais un dossier tout court …
Il fallait donc que je monte directement mon repository. Pas moyen de monter le dossier parent … Ô rage, Ô désespoir. Mais c’est la que viennent faire leur apparition les branches. Pourquoi ne pas utiliser un seul repository pour tous mes projets et créer une nouvelle branche pour chaque projet
Evidemment maintenant cela fonctionne. Je peux monter mon repostory "sites", dans lequel sont situés de multiples projets tels que "refstats", "kazhar", … Et comme cette parition dav contient des fichiers bruts, je peux y placer une virtualhost Apache et donc voir les fichiers présents dans mon repository subversion comme s’ils étaient en dur sur ma machine.
Pour finir, voici ce que j’ai mis dans mon fichier /etc/fstab (afin de monter la partition automatiquement au démarrage de la machine)
http://localhost/sites /svn/sites davfs user,auto,ro 0 0
J’ai créé un virtualhost pour svn sur localhost afin de ne pas avoir à m’embeter à créer une identification pour la machine locale. Un identifiant et un mot de passe sont tout de même demandés au démarrage. Il suffit cependant de taper sur "entrée" pour passer à la suite.
