Amis développeurs, cet article est pour vous ! Pour les non-développeurs, eh bien, je m’excuse, mais cet article risque fort de ne pas vous être d’une grande utilité (sans pour autant prétendre que mes autres articles le soient).
Tout développeur a eu un jour affaire à un système de contrôle de code source (SCM). Du moins, je lui souhaite. Parmi les plus connus et les plus répandus (je parle des SCM, pas des développeurs…), on trouve :
CVS, l’ancien, on se demande même s’il n’était pas là avant la Création,
Subversion (ou SVN), qu’on utilise quand on a franchi un pas de trop vers la folie à cause de CVS.
Mais si Subversion vous rend dingue, que vous reste-t-il ?
Peut-être bien Mercurial ! Son ambition est simple : oubliez Subversion et ses problèmes, utilisez Mercurial et retrouvez le goût pour le développement logiciel ! Hum, bon, c’est prétentieux, certes, mais d’après la description que je viens d’en lire et les concepts utilisés, cela me semble tout à fait possible. J’ai identifié deux aspects particulièrement intéressants :
Le commit se fait en deux phases : Le développeur commit sur son repository local et peut ainsi profiter du système de versioning (et des revert, notamment), sans pour autant impacter le reste du monde.
Quand le code est stable, il push ce code sur le repository central.
Mercurial stocke les changements (changesets) d’une manière intelligente et est ainsi capable d’effectuer de véritables merge sans conflits. Le branchage devient alors un véritable outil de production plutôt qu’une bête noire.
Pour en savoir plus,
hair straighteners uk, je vous laisse lire cette très bonne introduction à Mercurial (en anglais).
Développement CVS • Développement • SCM • Subversion