Logiciel de gestion de versions

Petit à petit, j’augmente mon score au test de Joël. Oh bien sûr je parle de mes développements personnels car au travail c’est une toute autre histoire malheureusement.

Mon score est maintenant de 5. Ca peut paraitre ridicule mais le test est axé sur le fonctionnement d’une société commerciale. Mes développements personnels et associatifs ne me permettent pas de mettre en oeuvre les points 10 et 11. Mon score est donc rapporté à 5 sur 10, ce qui est encore insuffisant mais je travaille à améliorer les points 2, 3, 6 et 7.

Pour en revenir au sujet de ce billet, le point que j’ai accroché à mon tableau de chasse cette fois-ci est le tout premier : Utilisez-vous un système de gestion de code source ?. Pour ceux qui se demanderaient ce qu’est un logiciel de gestion de versions, je les renvoie vers cette explication de WikiPédia Pour tout vous avouer ce n’est pas la première fois que j’essaie d’obtenir ce point.

CVS: Un ténor vieillisant

En effet, il y a un an j’ai essayé d’utiliser CVS en conjonction avec le client Windows WinCVS. L’expérience n’a pas vraiment été concluante. Le client, bien qu’apparement le plus ergonomique pour CVS, ressemblait plus à un programme bidouillé en vitesse pour un besoin ponctuel qu’un logiciel conçu pour une utilisation intensive. A l’époque le panorama des solutions alternatives abouties et gratuites étaient relativement désert.

Subversion: Un challenger prometteur

Aujourd’hui ce n’est plus le cas avec Subversion qui arrive à maturité. Le développement de ce logiciel est parti de l’impossibilité de faire évoluer CVS pour répondre à de nouveaux besoins car son architecture est trop ancienne. Les améliorations apportées sont notamment :

  • Versionnement des répertoires
  • Possibilité de déplacer et de renommer un fichier
  • Ajout de méta-données sur les fichiers et les répertoires, ainsi que versionnement de celles-ci
  • Commits atomiques (Le comit est géré par un mécanisme similaire aux transactions pour les bases de données. C’est à dire que les fichiers sont tous commités ou alors aucun ne l’est si un problème intervient.)
  • Possibilité d’utiliser d’Apache comme serveur et de WebDAV comme protocole
  • Meilleure gestion des fichiers binaires
  • La création de tags et de branches ne demandent pas un temps excessif
  • Le temps d’enregistrement de modifications est proportionnel à la taille des changements effectués et non des données concernées

TortoiseSVN: Un client très abouti

Basé sur le principe de fonctionnement de TortoiseCVS, TortoiseSVN est sa déclinaison pour Subversion. Au lieu d’être un client classique, TortoiseSVN est en fait une extension Shell, c’est à dire qu’il s’utilise directement en situation dans l’explorateur de fichier au moyen du menu contextuel.

Ce fonctionnement est un peu déroutant au départ mais dès qu’on s’y est fait, il se révèle ultra pratique et intuitif.

Pour afficher l’état d’un fichier ou d’un répertoire, ce client utilise le concept d’Icon Overlay, autrement dit, une petite icone est superposée à celle du fichier ou du répertoire.

Une documentation déjà fournie

Le problème majeur quand on se met à une nouvelle technologie est l’absence de documentation. Avec Subsersion, ce problème est en partie résolu grâce au livre Version Control with Subversion. Celui-ci sera publié courant 2004 par O’Reilly mais est également disponible librement en téléchargement.

Cela fait maintenant quelques semaines que j’utilise Subversion et j’en suis très content. je ne compte d’ailleurs plus m’en séparer.

Ce contenu a été publié dans Divers. Vous pouvez le mettre en favoris avec ce permalien.

6 réponses à Logiciel de gestion de versions

  1. Romain dit :

    Vu sur linuxfr, un petit document tr?s bien fait sur l’installation et l’utilisation de SubVersion :
    toutprogrammer.com/articl…

  2. JMF dit :

    Merci beaucoup pour ce lien tr?s int?ressant. 🙂

  3. Arkenstone dit :

    Merci pour cette br?ve mais compl?te explication des logiciels de versionning ainsi que pour les liens!

    tr?s pratique pour l’etude comparative que je dois r?aliser sur ce type de logiciels.

    🙂

  4. Daniel dit :

    Je partage l’avis sur Subversion plut?t que CVS. C’est d’ailleurs l’argument des d?veloppeurs de Subversion : prendre le meilleur de CVS, laisser de c?t? le moins bon et rajouter des fonctionnalit?s. Je suis moi-m?me pass? de CVS ? SVN il y a environ un an et je ne le regrette pas.

    De nombreux projets utilisent encore CVS, on ne peut donc pas encore l’abandonner (et malgr? tout, ?a reste un bon produit). Je suis d’accord que WinCVS, que j’ai essay? aussi, n’est pas du tout pratique. Par contre, il y a un excellent produit pour Windows : TortoiseCVS (http://www.tortoisecvs.org/). Eh oui, ce n’est pas le clone de TortoiseSVN, il ?tait l? avant. C’est TortoiseSVN qui a repris l’id?e et adapt? TortoiseCVS pour SVN. Les deux projets se renvoient mutuellement. Comme il y a encore bcp de projets CVS, je trouve juste dommage qu’il faille installer deux clients. Dommage qu’ils n’en aient pas fait un qui puisse g?rer les deux types de serveurs.

  5. Jarod dit :

    Salut tout le monde.

    Je dois aussi faire une ?tude comparative dans le but de passer ?ventuellement de CVS ? Subverion comme toi Arkenstone. Est-ce que tu as publi? ton ?tude sur un site web? Je serai tr?s int?ress? de voir tes r?sultats.

    (Le passage risque d’?tre difficile quand m?me car bcp de personnes ne veulent pas lacher CVS et pour cause, c’est vrai que c’est un bon logiciel).

  6. Morsi dit :

    voici une étude comparative des outils de versionnage (EN) : better-scm.berlios.de/com…

Les commentaires sont fermés.