Je ne sais pas si celui qui redemande régulièrement si on va passer sous Git est un peu robin ou pas, mais en y réfléchissant ce matin je me dis que ce ne serait peut-être pas une si bonne idée.
Quand j’ai sonné le tocsin, en juillet dernier, plein de bonnes volontés se sont manifestées, certaines souhaitant bénéficier d’un dépôt Git pour le projet Dotclear afin de contribuer. On en a créé un, synchronisé avec les autres dépôts Hg (Mercurial) existants sur Bitbucket et sur notre serveur.
Quatre mois plus tard, je crois qu’on peut faire un premier bilan. Sans parler de ceux qui composent le cœur de la team de développement, d’ailleurs déjà présents dans le projet ou autour avant juillet, personne n’a utilisé le dépôt Git mis en place chez Github. Pas un seul commit sur un fork, pas un seul Pull-request, visiblement l’attrait de Git n’a pas été suffisant.
De plus, dire qu’utiliser Hg (Mercurial) plutôt que Git est un frein aux contributions ne tient pas une minute quand on sait qu’un des contributeurs les plus actifs de la 2.6 utilise exclusivement un dépôt local Git et une passerelle qui se charge de convertir toutes les commandes pour les synchronisations avec nos dépôts, et ça fonctionne plutôt pas mal.
Cela dit, la sempiternelle question revient, régulièrement.
Basculer nos dépôts sous Git ? Pourquoi pas finalement, puisque les deux systèmes sont assez proches dans leur philosophie. Mais ça ne pourra pas se faire sans un coût conséquent. En effet, au delà même de la conversion, plutôt aisée, des dépôts, il faudra revoir tout notre système de génération, puis, pour ceux qui comme moi utilisent un client graphique, s’approprier un nouvel outil et apprendre les quelques différences entre Git et Hg, pour certaines pas si triviales, et enfin revoir notre système de suivi (ce qu’on nomme le trac) pour l’adapter à Git.
Parce que de toute façon il n’est pas question que nous dépendions exclusivement de Github — pas plus que nous dépendons aujourd’hui de Bitbucket — pour avancer dans les développements.
Alors quand on fait le bilan de l’activité des derniers mois, je ne vois rien qui m’amène à rendre indispensable le fait de basculer sous Git. Cela ne veut pas dire non plus que je m’opposerai à ce changement si on venait à le décider.
Git est excellent et je l’utilise pour un projet annexe, ce qui me donne l’occasion de tester et de m’approprier un peu d’autres clients que MacHg.
Hg est excellent sauf qu’il a moins de notoriété que Git et j’aimerais savoir si c’est uniquement pour des questions techniques ou si c’est simplement un effet de mode — un peu comme Wordpress, le logiciel de blog le plus employé dans le monde… jusqu’à ce que Tumblr pointe son museau et lui ravisse la place.
Pour résumer il y avait un dépôt Git sur Github, en plus du dépôt Hg (Mercurial) sur Bitbucket et sur le serveur Dotclear, chacun était donc libre d’utiliser les outils qu’il préférait, les passerelles existent entre les deux systèmes, alors je me demande ce qui a empêché les nombreuses bonnes volontés de contribuer depuis, parce que l’équipe de développement n’a pas beaucoup grossi depuis quatre mois…
Parce que quel que soit le système de gestion de version utilisé il va de soi que nous tenons à la qualité du code introduit dans Dotclear, que par conséquent nous serons toujours aussi sévères (mais justes et bienveillants, rassurez-vous) pendant sa revue, que nous n’allons pas non plus bouleverser notre organisation autour des différentes branches et sur la façon de les faire vivre, etc etc. En gros, on changerait potentiellement d’outil sans changer notre philosophie.
Alors vraiment, c’est Git qu’il vous faut ?
1 De samantdi -
Moi personnellement, je n'en ai pas l'utilité...
(je suis une geekette et ma voix compte!)
2 De JcDenis -
Merci pour ce petit billet qui correspond bien à ce que je pense.
Je vois les choses plus du bout de ma lorgnette et apprendre un nouveau logiciel, tout réinstaller chez moi et ailleurs, si c'est juste pour faire mode, ce n'est pas vraiment mon truc, pas le temps, et pas forcément l'envie !
De tous les gens qui demandent Git, je n'en ai pas vu un seul faire un commit sur le dépôt existant chez Github (même si il fait brouillon). Le seul qui pourrait s'en plaindre comme tu dis, est un gros contributeur qui à l'air de s’accommoder parfaitement bien du système de passerelle...
3 De Stéphane Deschamps -
Pour être tout à fait sincère et pour avoir utilisé les deux, j'ai l'impression que Mercurial et Git se valent largement, sauf que Git a bénéficié d'une démarche "marketing" bien meilleure auprès des geeks avec github, et boum.
Un peu comme Coca et Pepsi, quoi. (je suis arrivé premier au concours de lancer de trolls) :)
4 De Franck -
lis-je soudain dans ton commentaire Stéphane et me voilà à parcourir le web à la recherche d’informations à ce sujet…
Cela dit, c’est bien la première fois que j’en entends parler.
Je laisse maintenant la place aux trolleurs qui vont s’abattre par vagues successives et impitoyables sur ce blog !
5 De Dsls -
A mes yeux, la vraie avancée n'est pas hg vs git, je constate avec joie qu'on a finalement réussi à se passer de subversion, et qu'on profite enfin pleinement d'un DVCS, sans avoir tous ces tracas de merge que l'on rencontrait avant. Je ne suis pas sûr que passer de hg à git ait le même impact que celui de passer de svn à hg. D'autant que pour ceux qui sont contraints d'utiliser windows en non-admin, c'est plutôt compliqué d'installer git, alors que portable tortoisehg fonctionne très bien :)
6 De mirovinben -
Je n'ai aucun avis sur Git, Hg, Bitbucket (que je persiste à lire bistouquette, malgré tous mes efforts), Mercurial, Coca et Pepsi. Je tenais à vous en faire part.
Sinon, à part ça, c'est normal que beaucoup de changeset nous balancent un tas de corrections de lignes avec ou sans tabulations, avec ou sans espace en début ou en fin de ligne ?
Pour un "petit" vrai changement, on se voit refourguer un paquet de lignes qui ont changé pour des raisons essentiellement cosmétiques. Je concède que le bouzin fait son boulot de "avant/après" mais quid de celui ou ceux qui veulent rajouter ou enlever les espaces ou tabulations utilisées pour les indentations ? Faudrait accorder vos violons. Et le fait que ce soit Git, Hg, Bitbucket, Mercurial, Coca ou Pepsi ne doit pas changer grand chose.
C'était mon coup de grognon du week-end et c'est tombé ici. Pas de bol.
7 De Franck -
mirovinben ça risque de continuer un peu, au gré des modifications des fichiers sources. On applique depuis quelque temps une pratique qui veut que les espaces (ou tabulations) en fin de ligne soient supprimés.
8 De Franck -
Quant aux espaces versus tabulations, personne n'a tranché et jusqu'à plus ample informé nous nous en tenons à ce qui était préconisé jusqu'à maintenant chez Dotclear (et donc déjà présent dans les fichiers), c'est-à-dire des tabulations.
9 De Le Journal de Nikrou -
Utiliser git en local quel que soit le dépôt distant
J'ai pris l'habitude d'utiliser git sur tous mes projets. Comme tous les projets sur lesquels je travaille ou contribue n'utilisent pas forcément git, cela pourrait poser problème ! Mais c'est sans compter les passerelles permettant d'utiliser git en...