Dev & Code il y a 13 hAjouter aux favoris

Korben remet en lumière un flux de travail que beaucoup de développeurs jeunes ignorent complètement : la revue de patches par email, style noyau Linux. Un projet permet de faire ça sans jamais quitter Thunderbird - et c'est plus pertinent qu'on ne le croit.
Pour un dev qui n'a connu que GitHub et GitLab, la question paraîtra étrange : « pourquoi diable réviser du code par email ? » Réponse concrète : parce que les projets qui structurent une bonne partie de l'informatique moderne - le noyau Linux (LKML), git lui-même, Emacs, U-Boot, QEMU, Postgres (partiellement), la majorité des projets BSD - n'utilisent PAS de forge web pour recevoir les contributions. Le workflow historique reste :
git format-patch pour transformer sa branche en série de fichiers .patch, un par commit.git send-email.> et écrivent leur commentaire juste dessous. C'est de la revue de code, mais dans un client mail.git am.Ce flux a des qualités objectives que la forge web n'a pas : archives publiques indexables (lore.kernel.org, marc.info), participation sans compte GitHub, respect du principe « write it once, read it many times ».
Le confort de la revue GitHub - surlignage syntaxique, commentaires par ligne, Approve/Request changes - a créé une génération qui trouve la revue par mail illisible. Résultat : la barrière d'entrée à la contribution kernel monte, alors même que git send-email est un vieil outil éprouvé.
Marc Coquand avait envie d'embarquer son équipe dans ce workflow mail-first sans imposer d'outillage exotique. Il a donc développé thunderbird-patch-review, une extension pour Thunderbird : lorsqu'un mail contenant une série de patches arrive, l'extension propose un bouton pour ouvrir une vue de revue confortable - coloration des patches, sauts vers le fichier ciblé, application locale du patch pour tester, réponse inline avec la bonne convention de citation. L'idée n'est pas de remplacer GitHub, c'est de pouvoir participer aux projets qui ne l'utilisent pas sans souffrir.
Pour trouver le repo et la version courante, on renvoie à l'article de Korben (lien en source), qui pointe directement vers le dépôt de Marc Coquand - plutôt que de citer une URL de mémoire.
Pour reconstituer le pipeline complet, en dehors de l'extension Thunderbird :
git config sendemail.smtpServer <serveur>.git format-patch -N HEAD~M avec les options cover-letter (deux tirets suivis de cover-letter) et thread (deux tirets suivis de thread).git send-email avec les options to=list@vger.kernel.org et cc=maintainer@example.org (chacune préfixée de deux tirets).git am < email.mbox pour appliquer une série reçue.Un flux entièrement décentralisé, sans dépendre d'un tiers. La doc de référence est git send-email(1) sur git-scm.com.
git send-email sur une contribution triviale (typo dans la doc kernel par exemple, la LKML est étonnamment accueillante pour les premiers patches propres).Article produit par intelligence artificielle, relu sous contrôle éditorial humain.