En ce moment, je m'amuse pas mal avec Mercurial.

Chez Zoomorama, parce que Subversion devenait limitant pour nous, nous avons décidé de migrer vers Mercurial. On a pas mal recherché et discuté des différents avantages et inconvénients entre git et mercurial, et hg nous semble plus approprié pour nos besoins.

  1. Mercurial nous semble plus propre d'un point de vue des commandes (Il n'y a pas 144 scripts différents avec des dépendances dans tout les sens comme dans Git) et il est presque aussi simple à utiliser que subversion. Cela nous fera gagner du temps pour s'approprier l'outil.
  2. Il y a une très bonne documentation (bien que celle de Git semble s'améliorer), entre autre ce guide
  3. Et surtout il a un bon support sur toutes les plateformes, ce qui est important pour nous puisqu'on fait, entre autres choses, des applis multi plateformes basées sur Mozilla.
  4. On utilise Gecko, en le modifiant, et Gecko étant sous Mercurial, ça ne nous fait pas apprendre un nième outils.

Au niveau fonctionnalités, Git et Mercurial se valent je trouve, surtout dans les fonctionnalités de base. Mercurial a beaucoup progressé et comblé son relatif retard ces derniers temps. Et vu qu'on ne va pas forcément utiliser les fonctionnalités super avancées de ces outils ce n'est pas sur ce point qu'on a pu les départager (quoique, j'apprecie beaucoup l'extension mq de Mercurial)... D'un point de vue performance, on n'a pas des projets de plusieurs dizaines de millions de lignes de code, aussi je ne pense pas que Mercurial va nous pénaliser (bien qu'il parait qu'il est plus lent que Git sur certaines opérations).

Le seul inconvénient qu'on lui trouve : le site officiel est moche par rapport à celui de git :-), mais heureusement, il y a un nouveau site plus propre : http://hg-scm.org/.

Un bon comparatif (sans troll et assez objectif je trouve) qui a fini par nous convaincre : Git vs Mercurial.

Et puis, du coté de mes projets perso, je suis en train aussi de passer aussi à Mercurial. Pour Jelix, je viens de monter http://hg.jelix.org. Je dois encore configurer les droits d'accés pour le push via ssh (c'est moins classe à configurer que pour subversion [1]) et quelques autres broutilles (comme modifier les cron des builders de nightlies). Je vais enfin pouvoir commiter dans le train !

À propos de gestionnaire de sources, le projet PHP vient de changer lui aussi de système. Ils ont enfin délaissé CVS pour utiliser Subversion. Je m'étonne toutefois qu'ils ne se soient pas orienté vers Git, Mercurial ou un autre système décentralisé. Surtout que je n'arrive pas à mettre la main sur leurs arguments en faveur de Subversion par rapport à Git/Mercurial.

Notes

[1] en fait non, une fois compris le truc, c'est bien plus puissant, en utilisant http://hg.opensource.lshift.net/mercurial-server/ et je viens de terminer sa configuration :-)