Le projet Heptapod : GitLab + Mercurial = 🖤

Posté par  (site Web personnel) . Édité par Arcaik, Ysabeau, gracinet, Davy Defaud, BAud, theojouedubanjo et Benoît Sibaud. Modéré par Ysabeau. Licence CC By‑SA.
Étiquettes : aucune
33
27
fév.
2020
Gestion de versions

Heptapod est une divergence (fork) amicale de GitLab CE qui prend en charge le DVCS Mercurial. Le projet a deux ans et est actuellement disponible sous forme de sources et d’image Docker à installer.

Sommaire

Présentation

GitLab est une application de gestion de dépôts Git sous licence MIT. Elle est régulièrement mentionnée sur LinuxFr.org. Elle permet d’héberger sur votre propre serveur des dépôts Git avec l’interface Web offrant tout le nécessaire pour vos projets : navigation dans le code source, suivi des demandes de bogues et d’évolutions (« issues »), wiki, gestion des droits d’accès par équipe, commentaires, notifications, etc.

Mercurial est un système de contrôle de version distribué (DVCS) en logiciel libre, écrit principalement en Python, avec une interface de ligne de commande intuitive et des fonctions de réécriture de l’historique solides et sûres. Cependant, Mercurial a manqué quelque peu d’exposition publique au cours des dernières années suite au succès de Git, GitHub et GitLab.

Le projet

Le projet vise à permettre de profiter de toutes les facilités liées à l’utilisation de GitLab, sans être obligé de changer de système de gestion de versions. Il en découle plus de diversité et les auteurs espèrent pouvoir remonter quelques correctifs en amont même si le support de Mercurial dans GitLab CE n’est pas prévu.

Par ailleurs, le projet s’inscrit dans un contexte délicat pour les utilisateurs de forges publiques reposant sur Mercurial. Suite à l’abandon de Mercurial par Bitbucket, il est urgent pour les projets l’utilisant de trouver une alternative. Bitbucket a annoncé son intention de ne plus accepter de nouveaux dépôts d’ici le 1er février 2020. Les projets existants seront supprimés le premier juin 2020. Heptapod permet de fournir un hébergement pour les projets qui désirent migrer sur une plate‑forme conviviale : GitLab CE.

Heptapod est un projet communautaire dont les principales contributions proviennent de la société Octobus.

Licence

Heptapod est publié sous licence MIT Expat license. C’est la même que GitLab CE pour ne pas empêcher de possibles correctifs en amont (upstream patches), voire la possibilité de fusionner les branches à l’avenir.

Relation avec GitLab

Le paragraphe suivant est une traduction de la FAQ d’Heptapod.

Octobus serait heureux que GitLab fournisse simplement l’option Mercurial dans un futur proche, car cela correspond à notre activité principale qui est de fournir des services professionnels autour de Mercurial. Cela étant dit, cette question en pratique dépend de la direction que la communauté des Heptapods prendra lorsqu’elle sera mature. Les avantages pour GitLab devront également être clairement démontrés. Pour l’instant, le statut de « fork amical » est assez confortable pour Octobus et pour GitLab.

Fonctionnalités

  • gestion de SSH ;
  • installation depuis les sources ;
  • importation de projets depuis Bitbucket.

Chantiers en cours

Les priorités du projet sont :

  • montée de version GitLab de 10.5 vers 12.2 ;
  • rendre la gestion de Mercurial complètement native ; les auteurs pensent obtenir de nets gains de performance et la possibilité de faire des instances distribuées sur une grappe de serveurs ; la qualité du code sera également améliorée ;
  • fournir une version officielle du GitLab Development Kit — GDK — adaptée à Heptapod ; ils l’appelleront naturellement HDK.

Heptapod est un logiciel libre et open source. Si vous voulez qu’il brille, le mieux est d’y contribuer ou d’engager quelqu’un pour le faire. Les développeurs sont demandeurs de contributions externes et ils ont commencé à catégoriser les améliorations qui ne nécessitent pas beaucoup de connaissances. Beaucoup d’entre elles concernent l’expérience utilisateur, alors n’hésitez pas !

L’avantage du fork

Les divergences entre GitLab et Heptapod sont faibles. Les modifications de Heptapod ne touchent que trois composants :

  • Gitlab Shell ;
  • Gitaly ;
  • Gitlab Rails.

Au final, le projet bénéficie de toute la force de GitLab en étant porté par une équipe modeste.

Plus d’informations sur le sujet sont disponibles dans la présentation du FOSDEM 2020.

Logiciel en tant que service (SaaS) et instance publique

Récemment, Octobus a conclu un accord commercial avec la société Clever Cloud afin de fournir des instances hébergées d’Heptapod.

Traduction de la FAQ

Quel est le prix du service fourni ?

Nous visons actuellement un prix de base de 7 €/mois par utilisateur avec un supplément basé sur la consommation. Vous paieriez pour le stockage et le trafic sortant, mais seulement ce que vous consommez. Les prévisions de prix actuelles seraient de 0,02 €/Gbit/mois pour le stockage et de 0,09 €/Gbit/mois pour le trafic sortant. N’oubliez pas que rien n’est gravé dans la pierre et que les choses peuvent changer après la phase bêta.

Est‑il possible d’héberger gratuitement des projets comme on le fait sur GitHub ou GitLab ?

Il est possible de s’inscrire sur foss.heptapod.net et d’y héberger votre projet.

Les critères d’éligibilité y sont détaillés. Les ressources de Clever Cloud et Octobus étant limitées, les projets acceptés doivent satisfaire les critères suivants :

  • projets réellement libres et open source (licence approuvée par l’OSI), et pas seulement publics ;
  • mentionnent le projet sur leur page Web officielle en insérant des liens et des logos vers Clever Cloud et Octobus à l’endroit approprié, par exemple sur la page qui fournit les instructions de développement ;
  • ne mettre sur foss.heptapod.net que des dépôts réellement pertinents, la raison étant que nous ne pouvons pas nous permettre d’héberger des milliers de dépôts dont l’utilité serait douteuse, notamment pour éviter les miroirs d’autres forges sans valeur ajoutée et les projets non maintenus.

Ces règles sont sujettes à interprétations et vous êtes encouragés à prendre contact avec les sociétés concernées pour plus d’informations.

Pourquoi ne pas fournir un hébergement gratuit comme les autres fournisseurs ?

La politique générale de Clever Cloud est que nous ne proposons pas d’hébergement gratuit. Les raisons sont expliquées dans ce billet de blog.

Puis‑je disposer d’une instance dédiée pour mon organisation ?

Oui, des instances dédiées figurent sur notre feuille de route et seront disponibles ultérieurement. Nous visons actuellement un prix qui la rendrait intéressante pour cinquante utilisateurs ou plus.

Le lien d’inscription est disponible sur la FAQ dédiée.

Aller plus loin

  • # Retours

    Posté par  (site Web personnel) . Évalué à 5.

    Je me demande si des visiteurs de Linuxfr qui utilisent mercurial pour leurs projets perso/pro seraient intéressés par cette forge. D'éventuels déçus de bitbucket traînent par ici?

    • [^] # Re: Retours

      Posté par  (site Web personnel) . Évalué à 5.

      Oui, je cherche clairement une solution alternative d'ici juin, et je regarde Heptapod de très près. Et si je peux éviter d'administrer moi-même le truc ça m'arrangerait bien…

      • [^] # Re: Retours

        Posté par  (site Web personnel) . Évalué à 5.

        N'hésite pas à contacter les auteurs. je les ai rencontré au FOSDEM, ils sont accessibles et sympas. Par curiosité, tu connaissais Heptapod avant cette dépêche ou tu le découvres via moulesFR.org ?

        • [^] # Re: Retours

          Posté par  (site Web personnel) . Évalué à 4.

          Je connaissais avant, je ne sais plus où j'en avait entendu parler (probablement Diaspora). Mais plus on parle de Mercurial et de ce qui va autour plus je suis content ☺

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.