Multigit est un outil graphique conçu pour simplifier la gestion de projets composés de beaucoup de dépôts git.
Une image et une vidéo valant mieux qu'un long discours, voici à quoi ça ressemble:
Multigit est un outil graphique conçu pour simplifier la gestion de projets composés de beaucoup de dépôts git.
Une image et une vidéo valant mieux qu'un long discours, voici à quoi ça ressemble:
Trac est un outil de gestion de « tickets » (rapports de bugs) développé en Python. Il était beaucoup utilisé à l’époque de SVN mais a aujourd’hui laissé la place, dans beaucoup de cas, à des outils plus gros comme GitHub (pas libre) ou GitLab. Il continue toutefois son développement et est toujours utilisé par certains projets, en particulier parce qu’il est assez simple à personnaliser à l’aide de plug-ins et facile à déployer.
Les versions 1.5.x sont les versions de développement avant la publication d'une version stable 1.6.x. La branche 1.4 continue également des corrections de bugs. Le rythme de développement n'est pas très rapide puisque la version 1.5.3 date de mai 2021, et il y a finalement assez peu de changements d'une version à la suivante.
La conférence Mercurial Paris 2023, est une conférence internationale dédiée au gestionnaire de version Open Source Mercurial. Elle se tiendra du 5 au 7 avril 2023 dans les locaux de l'IRILL (Center for Research and Innovation on Free Software) à Paris, Université Paris Sorbonne.
Mercurial est un gestionnaire de versions, libre et multi-plateforme, qui aide les équipes à collaborer sur des documents tout en conservant l’historique de l’ensemble des modifications. Équivalent fonctionnellement aux biens connus Git ou Svn, il s’en distingue sur de nombreux points techniques, ergonomiques et pratiques.
Doté d’une interface orientée utilisateur facile d’accès et simple à comprendre, il offre des capacités avancées de personnalisation du workflow et s’illustre aussitôt qu’il y a besoin de performances adaptées aux très gros dépôts. (Les équipes de Google et Facebook utilisent en interne des solutions basées sur Mercurial pour gérer l’ensemble de leur code source.).
La conférence Mercurial Paris 2022, est une conférence internationale dédiée au gestionnaire de version Open Source Mercurial. Elle se tiendra fin septembre 2022 à Paris, Université Paris Sorbonne.
Mercurial est un gestionnaire de versions, libre et multi-plateforme, qui aide les équipes à collaborer sur des documents tout en conservant l’historique de l’ensemble des modifications. Équivalent fonctionnellement aux biens connus Git ou Svn, il s’en distingue sur de nombreux points techniques, ergonomiques et pratiques.
Doté d’une interface orientée utilisateur facile d’accès et simple à comprendre, il offre des capacités avancées de personnalisation du workflow et s’illustre aussitôt qu’il y a besoin de performances adaptées aux très gros dépôts. (Les équipes de Google et Facebook utilisent en interne des solutions basées sur Mercurial pour gérer l’ensemble de leur code source.).
Après une première édition en 2019, l’équipe d’Octobus aidée de Marla Da Silva, organisent cette nouvelle mouture qui se déroulera du 21 au 23 septembre dans les locaux de l’Irill (Initiative de Recherche et Innovation sur le Logiciel Libre), Université Sorbonne, Paris.
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.
Pijul est un système de contrôle de version distribué (DVCS) développé en Rust et publié sous licence GPL v2. Il est basé sur une théorie des patches.
La différence principale entre Pijul et Git est que Pijul fonctionne avec des correctifs (ou patches), là où Git ne fonctionne qu’avec des instantané (snapshots). Une branche dans Pijul n’est qu’un ensemble de correctifs.
Ce mode de fonctionnement offre plusieurs avantages, dont une approche sans doute plus conforme à l’usage intuitif d’un DVCS. À ce stade, si vous avez reconnu le fonctionnement de Darcs, vous vous dites : « oui, mais c’est lent ! ». Au départ de Pijul, il y avait l’idée d’améliorer la vitesse de Darcs, mais de nouveaux algorithmes ont permis de créer un outil différent, extrêmement rapide.
La version 0.12 vient de paraître : même s’il reste sans doute quelques problèmes (notamment sur l’espace disque), cette version est le fruit d’importantes refactorisations et simplifications, et est de ce fait bien plus stable et cohérente que les précédentes ; en particulier, tous les algorithmes sont maintenant prouvables mathématiquement.
La version 2.20.0 de Git, logiciel de gestion de versions décentralisé, vient tout juste d’être étiquetée par Junio Hamano, le mainteneur. Elle contient comme toujours un nombre important d’améliorations, même si elles ne sont pas forcément visibles par la plupart des utilisateurs (certaines nouveautés sont détaillées en seconde partie de la dépêche).
Pour être tenu au courant de l’actualité Git, il y a Git Rev News, une lettre d’actus mensuelle qui contient pas mal d’infos en tout genre liées à Git (Git Rev News est éditée depuis presque quatre ans par un petit groupe de développeurs et de fans dont je fais partie).
Il y a aussi prochainement la conférence Git Merge à Bruxelles le 1er février prochain, juste avant le FOSDEM (2 et 3 février). Oui, c’est au même endroit, appelé The EGG Brussels, que la Git Merge 2017 qui avait aussi lieu juste avant le FOSDEM. Comme d’habitude, le jour précédant la Git Merge proprement dite (donc le 31 janvier), des workshops sont proposés et, en parallèle, il y a un Git Contributor Summit auquel tous les développeurs de Git ou d’un logiciel lié à l’écosystème de Git sont invités.
À l'occasion de la sortie de la version 0.4 de git-bug, je me suis dit que je pourrai te raconter un peu de quoi il retourne. git-bug est un gestionnaire de bugs distribué intégré dans git.
La récente sortie de la version 2 de Mergify est l’occasion de présenter cet outil d’aide aux développeurs utilisant GitHub et ses demandes d’intégration (pull requests en anglais).
La communauté Fusionforge a publié sa nouvelle mouture du moteur de forge libre éponyme. Voici un petit journal qui retrace les nouveautés apportées par cette version, au‐delà d’un nombre élevé de bogues corrigés.
L’équipe Tuleap a le plaisir de vous annoncer qu’elle vient d’ouvrir la plate‐forme Tuleap.net à tous les projets libres et open source.
La plate‐forme Tuleap.net, basée sur l’outil Tuleap, hébergeait jusqu’à maintenant uniquement le projet Tuleap en lui‐même. Devant le dernier buzz dans le monde du développement qui ne vous aura pas échappé (Microsoft rachète GitHub), nous avons décidé de nous lancer : on vous accueille tous, avec plaisir et l’on partage cette plate‐forme aux fortes fonctionnalités.
Après 114 user stories (ou récits utilisateur) développées, 1 100 rectificatifs et correctifs de sécurité, l’équipe de Tuleap est heureuse de vous annoncer la sortie de Tuleap 10. Cette version, dite majeure (bien qu’il y ait une nouvelle version de Tuleap tous les mois) est l’occasion de synthétiser les grandes fonctionnalités qui ont été développées en 18 mois. Tuleap est une plate‐forme libre tout‐en‐un pour gérer encore plus efficacement les projets logiciels. C’est ce qu’on appelle une forge logicielle ou un outil de gestion du cycle de vie des applications (ALM, Application lifecycle management).
L’objectif de Tuleap est que les équipes de développement au sens large (chefs de projets, product owner, développeurs, directeurs technique, clients, etc.) partagent la même information sur l’avancement des projets. Chacun a les outils dont il a besoin, à portée de main. Tout est tracé, depuis les premières demandes client, jusqu’au code, aux tests, aux documents et aux livrables. Sur une même plate‐forme, chaque équipe est autonome dans la gestion de son espace de travail, quelle que soit sa façon de travailler : scrum, kanban, waterfall, les trois à la fois… Chaque équipe sélectionne les outils qu’elle souhaite parmi un large choix de greffons, adapte ses outils, crée ses propres groupes utilisateur et configure ses permissions.
Nix est un gestionnaire de paquets fonctionnel dont la version 2.0 est sortie récemment. Parmi les nouveautés, on peut noter qu’une commande nix
a été introduite pour uniformiser les différentes sous‐commandes (nix-build
, nix-env
, etc.) et avoir de meilleures options par défaut (pour la recherche de paquets notamment). Une bonne partie du reste du travail concerne des couches moins visibles mais néanmoins importantes : prise en charge de HTTP/2, amélioration de sécurité, etc.
Nix peut être utilisé sur n’importe quelle distribution GNU/Linux en complément du gestionnaire de paquets habituel. Il existe également une distribution GNU/Linux articulée autour de Nix : NixOS. La version 18.03 de NixOS, prévue pour sortir très prochainement, inclura Nix 2.0.
Mise à jour : Nix 18.03 est sorti.
Mise en place d’un mécanisme de snapshot/rollback sur système d’exploitation GNU/Linux avec le système de fichiers Btrfs.
Cet article fait suite à des travaux de mise en place, sur les systèmes que je gère, d’un mécanisme d’instantanés (snapshots) et de retour en arrière (rollback) sur la partition racine. Tout ce qui suit s’applique en principe à une distribution Debian ou dérivées, mais doit être adaptable aux autres distributions GNU/Linux.
Sur les distributions Fedora ce sont les gestionnaires de paquets YUM et DNF qui intègrent nativement les instantanés Btrfs permettant de faire des mises à jour avec possibilité de retour en arrière, assurant ainsi une grande stabilité et tranquillité d’exploitation pour l’administrateur système.
Le projet que je vais développer ici est une boîte à outils pour Gitlab CI publié sous licence GNU GPL v3, dont la fonction principale est d’exécuter les tâches GitLab manuellement, individuellement et simplement sur votre station de développement. J’ai commencé son développement début 2017 dans le cadre de ma mission chez ERCOM et, à ce jour, il a atteint un bon stade de maturité. Il est désormais utilisé par deux équipes sur au moins une dizaine de projets.
GitLab (Community Edition) est un logiciel libre, sous licence MIT. Il s’agit d’une forge logicielle équivalente à GitHub et la partie mentionnée, GitLab CI, est une fonctionnalité d’intégration continue équivalente au service Travis CI
Je vous présente aujour’hui un de mes projets personnels : Updates-warner.
C’est un logiciel libre (GPL v3), écrit en C, d’environ 9 250 lignes de code (environ trois mois de dev’, sur mon temps libre). Ce projet est né suite à un besoin que j’ai de suivre certains projets pour des questions de sécurité dans mon boulot. La première esquisse était un script shell que je lançais manuellement tous les jours. Par flemme, j’ai donc créé ce logiciel qui est beaucoup plus beau, pratique et multi‐tâches ! Et j’ai décidé de le partager, j’espère que vous le trouverez tout aussi pratique que moi !
Gérer du code dans plusieurs dépôts différents est toujours un peu compliqué. Chez tanker.io nous avons une petite équipe de développeurs, et chacun des membres peut être amené à coder dans plusieurs langages (C++, Go et JavaScript, principalement). Comme une grande partie du code est encore propriétaire, nous utilisons une instance GitLab hébergée dans nos locaux.
Il existe plusieurs façons de gérer la synchronisation entre dépôts : la manière qui nous convient le mieux est d’avoir la même branche (ou le même tag) sur les dépôts concernés. Ceci nous a amené à développer notre propre outil, tsrc, qui est désormais disponible sur GitHub, sous licence BSD.
Pourquoi GitHub et pas GitLab ? Simplement parce que GitHub, bien que propriétaire, assure une meilleure visibilité au projet.
Vous avez envie de collaborer à un projet libre, mais vous ne savez pas programmer. Vous maîtrisez l’anglais et vous aimez quand la documentation technique est bien rédigée. Vous voulez approfondir les concepts de gestion de versions et comprendre pourquoi votre logiciel préféré est le meilleur (qu’il s’agisse de Subversion ou d’un autre avec un modèle différent). Si vous vous reconnaissez dans au moins une de ces descriptions, vous pouvez participer !
Subversion continue d’évoluer et la documentation technique qui l’accompagne aussi. Le livre Gestion de versions avec Subversion détaille, non seulement l’ensemble des commandes disponibles, mais fournit aussi des exemples concrets d’utilisation et approfondit les concepts de ces logiciels qui sont au cœur de tout logiciel libre. La version PDF « pèse » environ 500 pages. Autant dire que le travail de traduction ne manque pas.
git 2.9 est sorti le 13 juin 2016. Pour rappel, git est un gestionnaire de version décentralisé, originellement développé par Linus Torvalds pour versionner les sources du noyau Linux. Depuis, ce gestionnaire de version est devenu très populaire parmi les projets open-source, comme en témoigne le succès des plateformes basées sur cet outil, comme GitHub ou Gitlab, ainsi que les projets de toutes tailles auto-hébergés utilisant git.
Dans cette dépêche nous nous proposons de revenir sur quelques-uns des changements apportés par cette version.
BitKeeper, logiciel de gestion de version vient discrètement de passer en Open Source, sous licence Apache 2.0. Soit plus de dix ans après l'avènement de Git dont il est indirectement à l'origine. Que de temps pour trouver le bon chemin !
Enfin diront certains, trop tard diront d'autres. Le changement s'est fait relativement discrètement via l'annonce assez laconique de la version Bk-7.2ce sur leur forum :
I might as well mention bk-7.2ce which is the first open-source release.
Si vous vous demandez si cela vaut le coup de laisser tomber votre SCM préféré, ils ont en place une page spécialement pour vous. Ironie de l'histoire, sur leur page de téléchargement, ils proposent de récupérer les sources de BitKeeper via Git !
gws
est un outil KISS (script bash, compatible zsh) pour gérer de manière simple un espace de travail composé de plusieurs dépôts git. Ça ne vous parle pas et vous semble être un pitch commercial ? Laissez-moi l'aborder autrement ; si vous vous reconnaissez dans quelques-unes de ces questions, cet outil pourrait vous être utile :
~/dev/
, ~/code/
ou ~/workspace/
dans votre répertoire personnel ?Gitlab achète Gitorious. Les utilisateurs ont jusqu'à fin mai 2015 pour importer leur projet sur Gitlab (en un clic).
Selon les mots de Rolf Bjaanes, le CEO de Gitorious, dans le billet officiel, Gitorious.org n'était plus viable économiquement : «À Gitorious nous voyions de plus en plus d'organisations adopter Gitlab. À cause d'une baisse des revenus des comptes payants, il n'était plus tenable de maintenir l'instance gratuite Gitorious.org. Gitlab résolvait le même problème que nous, mais mieux.» ("At Gitorious we saw more and more organizations adopting GitLab. Due to decreased income from on-premises customers, running the free Gitorious.org was no longer sustainable. GitLab was solving the same problem that we were, but was solving it better.”
Rien n'est dit sur ce qui va advenir du code de Gitorious.
C'est un logiciel totalement libre et sous licence AGPLv3 qui meurt, remplacé par un autre sous licence MIT avec une édition communautaire et une privée.
Des pronostics pour quand Gitlab rachètera Github ?
En 2013 GitHub avait organisé la première Git Merge à Berlin. Pour les dix ans de Git, GitHub récidive en organisant une Git Merge à La Gaîté lyrique à Paris dans le 3ème arrondissement.
En 2013 cette conférence était gratuite, mais avec un nombre de places limitées, donc il fallait être dans les premiers à s'inscrire pour avoir une place (sauf pour les contributeurs à Git). On peut maintenant s'inscrire depuis le site de la conférence, ce qui nous amène notamment sur un site d'achat pour y accéder, vendant les places 99$.
Le programme, détaillé en seconde partie de la dépêche :
Informations plus détaillées, notamment d'ordre pratique sur le site de la conférence.
Les développeurs, intégrateurs et mainteneurs s'arrachent les cheveux quand ils ont à mettre à jour les versions des logiciels.
L'éternelle question La nouvelle version, est elle rétro-compatible ? pourrait se résoudre en se basant sur le nouveau numéro de version, mais chaque auteur de logiciel fait un peu comme il le sent.
C'est pour uniformiser ces règles, que Tom Preston-Werner (Gravatars et GitHub) a proposé la gestion sémantique de version (adoptée par de plus en plus de logiciels).
Dans la suite de la dépêche, ces règles sont résumées en 9 points.
Après quelques années de sommeil, une nouvelle version de la forge logicielle française CodingTeam a été publiée. Il s'agit de la version 0.9.4, qui est donc la sixième version d'un projet entamé en 2007. L'apport majeur de cette nouvelle version est le support de Git. Les nouveautés de cette version 0.9.4 sont listées en seconde partie de dépêche.
CodingTeam est une forge logicielle, c'est donc une solution qui permet de gérer vos projets et de travailler collaborativement sur ceux-ci. Parmi les outils de travail collaboratif et de communication fournis, on peut par exemple citer la chronologie (timeline), la feuille de route (roadmap), l'explorateur de code, le gestionnaire d'anomalies, le wiki, la traduction de votre application en ligne (via gettext), le forum, …
CodingTeam peut être utilisé sur la forge CodingTeam.net (parmi plus de 3 000 utilisateurs et plus de 380 projets) ou être installée en interne, sur votre serveur (comme le font d'ailleurs des développeurs isolés ou même quelques entreprises). CodingTeam est un logiciel libre écrit en PHP, distribué sous la licence GNU Affero General Public License. D'ailleurs, le service CodingTeam.net est offert gratuitement et sans publicité aux développeurs de logiciel libre.