From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id sBEyEUDCxGXQZgAAqHPOHw:P1 (envelope-from ) for ; Thu, 08 Feb 2024 13:00:00 +0100 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id sBEyEUDCxGXQZgAAqHPOHw (envelope-from ) for ; Thu, 08 Feb 2024 13:00:00 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=JzQy4rJc; dmarc=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" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1707393600; a=rsa-sha256; cv=none; b=qfSegZRgioo/eBbFGZNu/5H5Bm7n18zjJIdfPBGVtIq8DOe2hzHcvx1PecJ+bM65L7dY9U Y/G9UzmuKAtjoflIbcxoI2GAXcU4XpoZX78GtkYh4XsAeWUUA4/pynnue7F7nrYBzO6drA ys0hbgdS2Or6HMwDVx3Y5Hvd5oqJvzYm2gRn+msh6QNZS/Bqq9Q8io8PaYCVoOslSJ5qsE B556yuKq3YH+QlRPmuje+ACSvOyMsHs75oNrsBqs6CD4odBxxICTDq8JdbDcLrGXKCDFsG LuM71A5jSm5Exuwo8TYNNblnu0SxdRIPTDnCQXfQIQSvTIhoIDJQ6W2A8Dd8vw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=JzQy4rJc; dmarc=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" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1707393600; 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:dkim-signature; bh=bUUXGyVxkBqyRr4Zap4ChRae/k95MBxHAtzb3HBLzpg=; b=jzokQYCqSZdzmTUH3fIKOXTLHYAGeL9xYgzWz+QRp+oDKuc2tEfU9DUY/ixjadGMpku5Dm eltFdqd+3ZtYlPEUEzeCLMYR9s09NOiKbIs93h3pS1EAWp/3aslNYUU8DL13xNH33RMTOl /AW3RwaWh4PfBNLT7Lan3U0YMkhM3+TBkaa29IN/zApe9aazhGR6+Zo4+3asrGNpsuxAjr zEaR4SW/QABAuGPjWMKSP6zfH+sIc41928YEYXq21SPC/XZBys8/65/D7XMO90Sc3e/I+4 JFF1fEKfoWLmSGNTeW5a32Sp5ahkxWxNTlPNH5Etf4rwJkr6KVet50sQQsbkGw== 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 ECA4AEE99 for ; Thu, 8 Feb 2024 12:59:59 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rY341-0006aX-7Z; Thu, 08 Feb 2024 06:59:33 -0500 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 1rY33s-0006Yy-S9 for guix-devel@gnu.org; Thu, 08 Feb 2024 06:59:29 -0500 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rY33f-00024S-Un for guix-devel@gnu.org; Thu, 08 Feb 2024 06:59:22 -0500 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-40f02b8d176so14475825e9.1 for ; Thu, 08 Feb 2024 03:59:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1707393549; x=1707998349; darn=gnu.org; h=in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:cc:to:from:date:sender:from:to :cc:subject:date:message-id:reply-to; bh=bUUXGyVxkBqyRr4Zap4ChRae/k95MBxHAtzb3HBLzpg=; b=JzQy4rJckZCC8V7yAfHbCNE1ognWLGQ9EYDaykwN8BHxTiYarEzGABO4C5NPj8FwKe ehqhUH2yqtUWp4jHDvZKhA9xheLirn6P35lEAyhm6tME1aTVcBwLUgiQTCpeIQXkygOs zCqNL8x9EQhBQKv57whIeBU/zckA81bAlrVrcbhIPuBRcQUwSS7Ab8EI0SSPHEbgtl4l yrylHRf5RPTb3xNDQFXpBBx4OJ/wBawBuWpBgMLKQSJ3kh9SMN5xZOCG//RT7KUGZagc r+6YAOBJIWam/jqpbK6fXBj/q5/OVwYOUn/dGHpZ13Pt7LrBH2t0RlS270hCBpnQpMK/ 5rXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707393549; x=1707998349; h=in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:cc:to:from:date:sender :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=bUUXGyVxkBqyRr4Zap4ChRae/k95MBxHAtzb3HBLzpg=; b=R5cmCKsj7nxoV6wA3Fd/TYAmDJsBWAC0Iwy/1cmlBvux0yjetPtlOCcdmQaVYlqULN 8uuCfNB6I1rfeP36LJPXxY8bh5o5negL0SZbFiMdijr9u2ZCECqWGzxrHlDduUcP79ew QkOyi4SI783tu7msVcPfj6l+IqUaUi1CUPkt5sGzeO+eB+kQc8MF4GDSSe040rMBtJMB 6TGjX57B7w+hKNndaSoGdj9Slow16CD5KXD7Ik85i7TVm4Z+qmO9FoF0tWWx3yLxhGdY NIxc0v85g+OX8MhK7DemqhYsNcNRGbsxcZ0UI0R4nhdpIrmywhOu8Chko79bUNja54BS j3PQ== X-Forwarded-Encrypted: i=1; AJvYcCVKDmTSWGrUBCSQ04MXQ0R+8QEz6PrK2o9UZFUR5OLnzWjfhmp+TOaxgFSgTIOWpZIwX6REJA71s7jFpSlNWGHbE6Y= X-Gm-Message-State: AOJu0YwEWUMsq2L5LIxq9QMgZvOIk9Bs1IBD7Ym1tI4262fyy6GRAMFr 8jJahlrNm18shzcZE/hHyrHo6oNfiCcUfERyD6eDTsf2fxLtolmRf+wVq9QBP3c= X-Google-Smtp-Source: AGHT+IFI5zZRCQthaskGIJ95a9QSwytwQ2cvUZss/AtlV0ShfE7d5hQUWLcwlwDakzTmDj3n/h5Umw== X-Received: by 2002:a05:600c:4e8c:b0:40e:f8a2:4a8e with SMTP id f12-20020a05600c4e8c00b0040ef8a24a8emr7141003wmq.15.1707393548946; Thu, 08 Feb 2024 03:59:08 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCXUDMB+qQ+eU3wW0paa+6NJLeY99T7XJI0tiaE5qJxfX8kMv1CcTaoVLVroGP6f4KcaARG61l2HDOY1nzEbauEc6SQ= Received: from localhost ([141.226.15.142]) by smtp.gmail.com with ESMTPSA id f15-20020a05600c154f00b0040fd2f3dc0esm1429092wmg.45.2024.02.08.03.59.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Feb 2024 03:59:08 -0800 (PST) Date: Thu, 8 Feb 2024 13:59:03 +0200 From: Efraim Flashner To: Steve George Cc: h.goebel@crazy-compilers.com, guix-devel@gnu.org Subject: patch workflow without emacs (Was: Re: Guix Days: Patch flow discussion) Message-ID: Mail-Followup-To: Steve George , h.goebel@crazy-compilers.com, guix-devel@gnu.org References: <1602ca03-8288-d13e-0772-1118f433f4c2@crazy-compilers.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="s7ovWRAosKKD+XxI" Content-Disposition: inline In-Reply-To: X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=efraim.flashner@gmail.com; helo=mail-wm1-x330.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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-Scanner: mx10.migadu.com X-Spam-Score: -7.27 X-Migadu-Queue-Id: ECA4AEE99 X-Migadu-Spam-Score: -7.27 X-TUID: y/dg5tAHWkP9 --s7ovWRAosKKD+XxI Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Feb 05, 2024 at 10:50:36PM +0000, Steve George wrote: > Hi Hartmut, >=20 > Apologies, my reply-to went a bit mad and I sent you empty emails :-( >=20 > You said: >=20 > > The current mail-based workflow is too complicated for new and=20 > > occasional committers. This is the main reason I gave up reviewing patc= hes. > > >=20 > In the case of *reviewing patches* can you give some examples of: >=20 > 1. Some patches from others you reviewed? > 2. The steps you went through to undertake that review? >=20 > If for example, you started to review a simple update to a package how do= you=20 > aproach it? >=20 > It would be great to hear directly from someone doing 'reviewing' on the= =20 > specifics. Apologies, if this is going over old ground. First step is choosing a package to review. I normally start with ones that are emailed to me directly as part of the rust-team. I now have an email thread with between 20 and 150 patches to review. (I start by looking through some of them manually to see if they look like they're following conventions, ie: 1 change per patch. Assuming they generally look good,) I start with the first patch and, from mutt, I pipe the patch to 'cd ~/workspace/guix; git am -S -s'. I then compare the commit message to the contents of the patch, looking at it in 'tig', a TUI git interface, and will adjust the patch and/or the commit message as necessary. Then I try to build the package(s) changed by the patch set so far. When I'm happy with how it looks I'll pipe the next patch =66rom mutt to check out. Once I reach the end of a patch series, or after a bunch of patches, I'll look through the set I've applied to make sure I'm still happy with them as a whole (update the package and then remove it?) and then continue on. At the end, when I'm happy with it, I'll reply to the first or last email, detail a bit what changes I've made, and tell them that I've applied the patches. I then save the email in my drafts folder and move on to the next patch series I'm going to look at. At the end, after rebasing everything on top of wherever the branch moved to while I was working, I'll push my branch to Savannah and then send off the emails. If I come across a patch that I'd like changes to before committing I'll either add them inline ('v' in mutt to see the parts of the email, choose the part with the patch, 'g' to reply-all, and then add them inline), or I'll apply it and then reply to the original email with the diff ('git diff -p > ~/changes-to-XXXX.diff', attach in reply email) and some text in the header about the changes. I then throw out my local changes since they're either where I can recover it from the email or in my git stash. If I choose a package from qa.guix.gnu.org to review I'll pick one and note the number. I go to my checkout, 'git fetch --all' to refresh my checkouts=C2=B9, open it with tig, switch to the branches view (with 'r'), find the patchset (guix-patches/issue-XXXXX), and then with 'C' I'll cherry-pick all the patches from the patchset in one go. I then look them over one at at time in tig like above, and I'll make any changes to either 'squash' or 'fixup' onto specific patches later when I go over it with 'git rebase -i'. Some notes: I've never figured out how to use emacs, much less emacs and debbugs. My only interaction with debbugs is to open or close bugs; I do not know how to look at user tags, or any other tags, in debbugs, although I would guess that it might be possible from the web frontend. Similarly, I don't know if a bug has been closed by someone else, I just assume it to be so when a patch is applied or if I see it said so in an email. I use vim-fugitive (and editorconfig I guess) as my only plugin for working with git. =C2=B9 https://git.guix-patches.cbaines.net/git/guix-patches is the location where the patchsets are stored in a git repo --=20 Efraim Flashner =D7=A8=D7=A0=D7=A9=D7=9C=D7=A4 = =D7=9D=D7=99=D7=A8=D7=A4=D7=90 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --s7ovWRAosKKD+XxI Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmXEwgUACgkQQarn3Mo9 g1FOrA/8CagrnFK1/CjTzdcg0yPHSEf6KY7r2uCbdxS68dlyf705G+JFOZvA/bmk 6Bh+yL43pfdxLI7rhcCa3ecH1ZtiaVKfWgeSBLwCWRc03GHd6kcIH6v0gMdwyEPI IUOk24kCW1iJLLChmvTXPAOAfonCvNAWhW1NrLiDv/K/XfNn13hjiIca/AuMUduL ADPHBiO20e/PXOLWwrRuFNOBQNAqm8QGqgL27CSao2A03VJ0m+f1L4hli6Zq3Lah 8AklAp2S3UhmhBA14Xap/I4sj6yyo1nrfgGSzIdQs1dssrQ7FiUh27Wa6RiOnJfc bNmCW82ux3e0CmEf8vo/bBButOHu9cc3So3jPUOXPBXCOAsDspDdc5U8bO9KawX9 RYAfj92z/77iNWYvGOpCvu9+G4MM7Gw4Nf8nYPVxrLlKcyr3jJKTT0Az7RrHXaHv KE1SSo8lbWqKB4c6a0A5qc34U8WG1953tQesorGAQfnJZGXupX+FtNmxscIbi5mu HLNnDkPIigQyp6fV+0K5+JWuNhLBmORxiYOX7pkmWNLK9Jff7wwA3BkPHfuMEUYl ZuNkaqQzjgBl3dTYx6/EUGwYJAFdvIYYmNqtoqNV5qXxjnuLOhxtGauwUo4jbP+J GPARQSXmlQQWcMYmK9t8Sl1HIkmIwtKif9WSMg5zabmUdPIlKKY= =obnb -----END PGP SIGNATURE----- --s7ovWRAosKKD+XxI--