• [^] # Re: Mercurial

    Posté par . En réponse au journal Quel gestionnaire de révisions pour un "débutant". Évalué à 1.

    J'ai commencé par utiliser bzr qui me semblait réellement prometteur. Après avoir fait quelques patches avec sur un projet, j'ai choisi de tester hg.
    Raisons: vitesse principalement. Quand pour un pull il faut plusieurs minutes pour récupérer un projet, c'est très vite insupportable.
    Niveau fonctionnalités, je pense que pour le moment ils sont proches, bzr ayant un petit avantage avec quelques nouveautés.
    Il va y avoir une réunion entre développeurs Mercurial/Bazaar-NG prochainement, qui va permettre de rapprocher un peu les deux projets... peut être que quelque chose d'intéressant va en sortir !

    Sinon, pourquoi hg ?
    Encore une fois la vitesse: quand on développe, on a pas trop envie d'attendre une minute pour que le commit soit fait, puis encore 2 minute pour cloner le repo... du coup hg permet de travailler sans avoir une impression de "handicap" : le système de gestion de version aide plus qu'il n'énerve.
    J'aime bien par ailleurs son système de "hooks" (actions à effectuer à certains moments) qui permet par exemple pour un projet Web PHP/MySQL de faire un dump de la structure des tables SQL avant le commit : (precommit = mysqldump etc.).

    Encore un mot sur darcs: lent également (très variable peut être rapide sur certaines opérations et extrêmement lent sur d'autres), programmé en Haskell (dépendances ?) et un gros problème lors de tests sur son interface web: le temps de calcul pour faire un diff était tellement long qu'il y avait un "max execution time" à chaque fois... savoir que le serveur hébergeant cette interface pour darcs est un bi ou quadri proc 2Ghz...

    Conclusion: pour apprécier un système de gestion de version, il faut principalement qu'il soit discret (et pas trop verbeux), simple et intuitif.
    Pour ma part, j'ai abandonné Arch pour sa complexité, Darcs et bzr pour leur lenteur. Reste subversion sur lequel je ne peux me prononcer (segfault une fois, ça ne m'a pas mis en confiance et j'ai laissé tomber.)