From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id AHMRNVaI7GQvswAAG6o9tA:P1 (envelope-from ) for ; Mon, 28 Aug 2023 13:43:19 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id AHMRNVaI7GQvswAAG6o9tA (envelope-from ) for ; Mon, 28 Aug 2023 13:43:18 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 67FDA44D4C for ; Mon, 28 Aug 2023 13:43:18 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1693222998; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=ceOhhPkNnfkiryR+FWs3lmJLsDLuR8Dr38Q5LLniGgY=; b=nc0bhyZgnwg1eyvemuwqrBcunQzng4KoF0ACQz872A3Vq9cmo3jase36bqACflEDoaIoRT 0LeEWWjjzcicZb0g1TB3RsgspLxpnxp+3FCRui71S/UK86Hae+6MH9OfZan69WRK1W8xsV Cw8MJHZI0Xnng4kOYaZvr3rRcR62klpFXjLvyYNOxZK9cBV/Kc1Um93Jj6PfZZg4/tJHPm EKX0wgd83jACkz/vD1MQyqVBNZMDis3lHtpPEYCMPu0NWbMJeDRoxqPx+bfPcHaoQH/muY J2byCSX+6m7yawveeizI9gW0A11eNa0G7P6QuFBGIlCU28IykKlo/oQMWNPYxA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1693222998; a=rsa-sha256; cv=none; b=A6jnMbP8TNbvyTSegAXDSFotoiTtvxmhcCMqMsgt1lezVTZMUZdS23x/hE+/utCdnU/Iaq hOq3UXMbeZowsWmj5GnZW4j4zuc45WmGKzWD4SOHFhHZYqx4Cw1TZ+Rki4Lv/aC5wodpfP tXzpbQpnYcr6VZhVWqkxQXj+yLrofGnP4jHJ/yoOP+MJG1WrlnuMYhWLuFOrjZ2uGasf3G 4NbsrcNLHTr+Yq32sYU52qaC8YFe6Z665WFZsE5+hF6SgiD/px0+If4hXWpPgVgTExsR3F LO3FaghSRToYIZa2n5EqVVqtmDA+2V8xPpGdlCYDMBJB/xPjgKLVRP/s7d7GCw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=none Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qaadh-0001JN-7u; Mon, 28 Aug 2023 07:42:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qaada-0001IR-AH for guix-devel@gnu.org; Mon, 28 Aug 2023 07:42:30 -0400 Received: from ns13.heimat.it ([46.4.214.66]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qaadT-0005o3-Px for guix-devel@gnu.org; Mon, 28 Aug 2023 07:42:26 -0400 Received: from localhost (ip6-localhost [127.0.0.1]) by ns13.heimat.it (Postfix) with ESMTP id E4D0A3008E0; Mon, 28 Aug 2023 11:42:21 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at ns13.heimat.it Received: from ns13.heimat.it ([127.0.0.1]) by localhost (ns13.heimat.it [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CeBS8uRgOKO2; Mon, 28 Aug 2023 11:42:18 +0000 (UTC) Received: from bourrache.mug.xelera.it (unknown [93.56.171.217]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by ns13.heimat.it (Postfix) with ESMTPSA id DC91E3008B3; Mon, 28 Aug 2023 11:42:17 +0000 (UTC) Received: from roquette.mug.biscuolo.net (roquette [10.38.2.14]) by bourrache.mug.xelera.it (Postfix) with SMTP id 3A9D4293CDA0; Mon, 28 Aug 2023 13:42:17 +0200 (CEST) Received: (nullmailer pid 7909 invoked by uid 1000); Mon, 28 Aug 2023 11:42:15 -0000 From: Giovanni Biscuolo To: =?utf-8?B?5a6L5paH5q2m?= , Maxim Cournoyer Cc: Katherine Cox-Buday , "(" , guix-devel@gnu.org Subject: Re: How can we decrease the cognitive overhead for contributors? In-Reply-To: <87a5udaq7q.fsf@envs.net> Organization: Xelera.eu References: <87msyhgccg.fsf@disroot.org> <547c097a-d805-9a55-11d9-b0434327f89d@gmail.com> <871qfpjhiz.fsf@gmail.com> <87a5udaq7q.fsf@envs.net> Date: Mon, 28 Aug 2023 13:42:15 +0200 Message-ID: <87il8z9yw8.fsf@xelera.eu> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: pass client-ip=46.4.214.66; envelope-from=g@xelera.eu; helo=ns13.heimat.it X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -5.82 X-Spam-Score: -5.82 X-Migadu-Queue-Id: 67FDA44D4C X-Migadu-Scanner: mx1.migadu.com X-TUID: IWz1KmIVLidT --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, interesting thread: thank you very much to all for the comments and tips! For email based patch workflow one and two things are indispensable: a mailbox and a MUA capable of piping a message to a command (git am); this is the one and only obstacle for contrubutors who are accustomed to less than functional MUAs. https://git-send-email.io/ is a good primer for the braves. On the "cognitive overhead" for users like me who are able to (very) seldom send some patch to projects, I find it much more straightforward to just send a "git format-patch" generated file via email than to open a web browser, log-in (or worst: register), fork... naah!=20 On the general topic of "email vs. web (fork and PR) patch management" I found this articles useful and interesting: =2D =C2=ABHow I Learned to Love the Email Patch Developer Workflow=C2=BB by= Emily Shaffer https://nasamuffin.github.io/git/open-source/email/code-review/2019/05/22/h= ow-i-learned-to-love-email-patches.html =2D-8<---------------cut here---------------start------------->8--- With some tooling and good practices, I found a workflow that I love - and = found myself arguing in defense of emailed patches! [...] * Responding to Comments Note: As with Gerrit and other iterative code review tools based around a G= it workflow, making your changes involves using interactive rebase. I won= =E2=80=99t cover that here, as it=E2=80=99s not significantly different fro= m other processes, and it=E2=80=99s complex enough to take its own tutorial. =2D-8<---------------cut here---------------end--------------->8--- =2D =C2=ABCode review at the speed of email=C2=BB by "Drew DeVault" https://drewdevault.com/2022/07/25/Code-review-with-aerc.html =2D-8<---------------cut here---------------start------------->8--- With hundreds of hours of review experience on GitHub, GitLab, and SourceHu= t, I can say with confidence the email workflow allows me to work much fast= er than any of the others. I can review small patches in seconds, work quic= kly with multiple git repositories, easily test changes and make tweaks as = necessary, rebase often, and quickly chop up and provide feedback for large= r patches. Working my way through a 50-email patch queue usually takes me a= bout 20 minutes, compared to an hour or more for the same number of merge r= equests. This workflow also works entirely offline. =2D-8<---------------cut here---------------end--------------->8--- =2D =C2=ABThe advantages of an email-driven git workflow=C2=BB by Drew DeVa= ult https://drewdevault.com/2018/07/02/Email-driven-git.html =2D-8<---------------cut here---------------start------------->8--- Email isn=E2=80=99t as sexy as GitHub (and its imitators), but it has sever= al advantages over the latter. Email is standardized, federated, well-under= stood, and venerable. A very large body of email-related software exists an= d is equally reliable and well-understood. You can interact with email usin= g only open source software and customize your workflow at every level of t= he stack - filtering, organizing, forwarding, replying, and so on; in any m= anner you choose. [...] Given that most popular email clients these days are awful and can=E2= =80=99t handle basic tasks like =E2=80=9Csending email=E2=80=9D properly, I= strongly recommend this tool (git-send-email) over attempting to send form= at-patch=E2=80=99s output yourself. [...] You can also set the default recipient for a given repository by usin= g a local git config: git config sendemail.to admin@example.org. This lets = you skip a step if you send your patches to a consistent destination for th= at project, like a mailing list. I also recommend git config --global sende= mail.annotate yes, which will always open the emails in your editor to allo= w you to make changes (you can get this with --annotate if you don=E2=80=99= t want it every time). [...] The difficult part can be getting the email to git am in the first pl= ace. If you simply use the GMail web UI, this can be difficult. [...] The main disadvantage of email driven development is that some people= are more comfortable working with email in clients which are not well-suit= ed to this kind of work. Popular email clients have caused terrible ideas l= ike HTML email to proliferate, not only enabling spam, privacy leaks, and s= ecurity vulnerabilities, but also making it more difficult for people to wr= ite emails that can be understood by git or tolerated by advanced email use= rs. I don=E2=80=99t think that the solution to these problems is to leave these= powerful tools hanging in the wind and move to less powerful models like G= itHub=E2=80=99s pull requests. =2D-8<---------------cut here---------------end--------------->8--- =E5=AE=8B=E6=96=87=E6=AD=A6 writes: > Maxim Cournoyer writes: [...] >> For more information, try: 'guix shell info-reader u-boot -- info >> "(u-boot) Patman patch manager"' > > Oh, patman look interesting for long series, will learn it later.. [...] >> Using an Emacs-based workflow: >> >> 1. C-u M-x debbugs-gnu RET guix-patches RET [then answer prompts] >> 2. M-x cd RET ~/src/guix or wherever is your guix checkout >> 3. Select series you want to apply >> 4. Sort by subject > > Also can first read on issues (mumi), find a issue ID, > then M-x gnus-read-ephemeral-emacs-bug-group ID. [...] > Don't know the 'C-u 10 |' one, cool, thank you! I feel like a section in the Cookbook about email based workflows would be useful to many, even one with just excertps from this thread. Happy hacking! Gio' =2D-=20 Giovanni Biscuolo Xelera IT Infrastructures --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJABAEBCgAqFiEERcxjuFJYydVfNLI5030Op87MORIFAmTsiBcMHGdAeGVsZXJh LmV1AAoJENN9DqfOzDkSQKYP/0e266Sck8LtHhMczg/hbyX9EHDmhxU/PplFusWo 4Zfq3dYRUaYTW9o59EF85PAlzHgkStsY5J1bhM5GUAhNy/rwynNMqOUsD+xEn6FG ukR+TbodOC0dkcWUffsYkD/o/0dHlE183kH33SC532oxDD39yNxfELl5UF7XKJ2T w2SBrDtm0YR3Cw4ai9TjusN3GJduy5YDPerz88xnxhrxjXi1RUsQlyPmzOZ9/AyN gzd1b6KKZK8z1evr2VDV9sirZK+bZv/9v8xqDtDNQWQImlpvTlBh+TqvYspwDhkT RmEYJUJG3GvXuSFUMT1Qqjfdx5GK83piDji8H5fcOKPoirbmX+zu1tvr4crNwHkc cyzHSMmfnDI/gAk0nPYU8OwjJUvXNlU5FpTJAn1FS52YB3gXp+52W5lBwcGPq8gj 8ggFb0P/Oo/HlaN4MpC3kULCnNT+P0JQOxIShgQGoUUMOX4irTuvhoqhkAHEd5Hx D/DCr9xtd+5EAWTEJTa9VyKYzU4rtKkoTE1AQDXKjQgdBGhFonEP+QAoYZqLeqNC VirppXnJ7TYB+yK8CWtfGaqTTJaegTy3bVYn9PjRyjJmDjaybcha8QOXa9DNiunc YmsTqKkInxwgy/fxzaGmIpTzGk2eZuGTU0XlbOEh7xMZ4NBWcXQEajF6AmvL6fCy b4AE =MBxG -----END PGP SIGNATURE----- --=-=-=--