Ca fait un moment que je me dis qu'il faut que je déploie un logiciel de gestion de versions pour mes projets...
Notamment car je continue à recevoir des patches pour les projets que je ne maintiens plus beaucoup, et que les contributeurs s'impatientent un peu de voir leur travail intégré
Comme CVS, SVN et compagnie ne sont plus trop à la mode, je regarde comme tout le monde du côté des systèmes distribués, notamment hg (Mercurial) et git.
Et bien sûr je n'arrive pas à me décider
Pour moi, c'est à dire d'un point de vue utilisateur qui ne va pas trop s'intéresser au fonctionnement interne du produit et surtout utiliser les commandes "de base", les deux projets se ressemblent.
J'ai quand même listé quelques points plus ou moins importants :
- J'ai déjà utilisé un peu Mercurial pour mes contributions au projet "LinuxTV".
- Mercurial est réputé plus simple d'utilisation, même si les commandes de base restent similaires sour Git.
- Mercurial est mieux documenté, en tout cas la documentation est plus facile à trouver...
- Git est plus geek, et ça c'est primordial

- Git est compatible avec http://www.ohloh.net/ et ça roxe.
- Mercurial est plus abordable pour les utilisateurs Windows, mais est-ce vraiment un point positif

Sinon je suis toujours aussi fan de cette vidéo de Linus présentant Git :
C'est également intéressant de regarder quels grands projets utilisent quel logiciel de gestion de versions, mais là encore les avis sont partagés :
- Côté Git on trouve évidemment le noyau Linux, mais aussi Android, X.Org, Wine, VLC, etc.
- Côté Mercurial on trouve notamment Mozilla, OpenSolaris, XEmacs et aussi certains projets liés au noyau Linux comme LinuxTV.
Un des points qui me génait jusqu'à recemment est que je ne savais pas comment "anti-dater" un commit avec git.
En effet, même si ce n'est pas la vérité, je souhaite ratrapper l'historique complet de mes projets à partir des releases déjà existantes, en faisant apparaître comme date de modification de cette version.
Ceci me permettra d'avoir un "vrai" log, eventuellement réutilisable pour mes futurs changelogs.
Avec Mercurial c'est très simple :
hg commit -d '1980-12-05 12:34'
Après un peu de recherche, j'ai trouvé l'équivalent sur Git :
GIT_AUTHOR_DATE='1980-12-05 12:34' git commit
Bref, la grande question est de savoir si l'un des deux projets va sortir "vainqueur", en tout cas se démarquer en terme de pourcentage d'utilisation, ou s'ils vont continuer à coexister en se partageant le "marché".
Alors, vous en pensez quoi ?