From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id aM5qIjRt+2SvFgAAG6o9tA:P1 (envelope-from ) for ; Fri, 08 Sep 2023 20:51:32 +0200 Received: from aspmx1.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id aM5qIjRt+2SvFgAAG6o9tA (envelope-from ) for ; Fri, 08 Sep 2023 20:51:32 +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 028FF431F3 for ; Fri, 8 Sep 2023 20:51:32 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b="L/1vTmFR"; 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=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1694199092; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=y2tKur5z5S1/nHkm3Z3oZBBE0uPqXOmfkVwKDxphtKc=; b=Y/ZKitqvehsd9A0zPSpQntg1nMoVeP2EiyEZvA9+mRJGHprWeLtzFGzDRy02027UKLa3RB RWVEPUOXcDd4K1ExylRT0ME9dtuWr62RuuWlqtiDx5lE1vKHlGFwHLLnQzB/4xoJYa656A IG4mOoVTmpeblPfepeUMa07f8xeuPbH4O1aNTLyYRBG+VR6qOUjbt7FJXIPPaPpmn3vTQy 8clkMRoiKgBEhJ1dly1saWRxzsMulZQ2XC5Pc59IbsfkpohDbcVrCAAagim5GzT7ulRJhs D7X0ickcMCKK+B5pxUfBcQG/WbMEuLhPj4aoR1x+lRiJ3ocHHjrjSx9+SD3gxQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1694199092; a=rsa-sha256; cv=none; b=lFQEAM36vQUbv6O12G2io1gdSHxk/d5XmUQ9MUTnX3ziiGsbw1zYWBKwvloLMNEEiTfgKj GJ/dzUi8WS1eERtPm1ynhsJU3v9pdANQpGSKn9q4Q2Ac+CJblBQbeJ9zpzFwJ3p5UqLcCe xnsWQ+Jj02xvrL0VlAS/x63wBCw7Kv6Qp2x2deqVoIuMID7WmOoyd/DQiDnejRbTRW7bOx 9BGQ84IwDkTLQjW7h4WONeBCDRLmG2MFylTGSS+TDRyoEzOB3LqpdQc3qVMBn0CK6g5nCz 4ItUC0FTSSCCD/f/xItt7P1+Ql0fNfe0Siu2ObsPn6H3buWeaielRuAAf1pDXQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b="L/1vTmFR"; 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=pass (policy=none) header.from=gmail.com Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qegZE-0008WQ-Dn; Fri, 08 Sep 2023 14:50:56 -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 1qegZA-0008W8-D1 for guix-devel@gnu.org; Fri, 08 Sep 2023 14:50:54 -0400 Received: from mail-ed1-x543.google.com ([2a00:1450:4864:20::543]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qegZ6-0004hu-Nu for guix-devel@gnu.org; Fri, 08 Sep 2023 14:50:50 -0400 Received: by mail-ed1-x543.google.com with SMTP id 4fb4d7f45d1cf-52a5c0d949eso3117386a12.0 for ; Fri, 08 Sep 2023 11:50:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694199047; x=1694803847; darn=gnu.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=y2tKur5z5S1/nHkm3Z3oZBBE0uPqXOmfkVwKDxphtKc=; b=L/1vTmFRfnwmO8vIRepH92EPyiVU1eozVqpkBSMZ7o9N0GXtVmAKtUt4+jQGgIhI7I pGgV9p555ReqMLUlQMyyGYEGDTezJI174ic7Rp9WDxQBqdQLBMn9EMimhAWINXL+PqJT JbuvaWcppIYq2C5jrXkbflRSeKUdrOU1osHn1p0TRBR1Z9ytk8HTaBkQMEoGWEQ60Trd aIubLSSTdgRDj9pBXYXy0oKh15llX6a0Ts/P6vVMrv0SkNMEewmcemw7N6du2WVqlYwu mVN0p0pJwoGjiu8ynDlYFzWAI7S3xlmxKtALazuwhfWChAnZrRYHdwNBiqUoXTb/6m14 5Eyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694199047; x=1694803847; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=y2tKur5z5S1/nHkm3Z3oZBBE0uPqXOmfkVwKDxphtKc=; b=MMEUW+D2RzTgmU2kqvC/Wua0fqxjU0l6lfjfh0o0HtkVQ3gdsRoh9tzD/ybQqLBOiP dqUiVidUJcInXHYlzcaa7k6iyrD5eK8syEq7op7S4o1uE/9OzJ8EEZjYA3V0dC6lRqi1 OWMe/bGeOhfSyB9ZwQrdjjsAduhyBXly0QYQqDylJ9/bBCFBU8KXDrQ4SrJBkJkVbGx/ JzyIEoq2XE/H+/bNFrLii99BrxWQ08IvuU7H9vJtjUHZWGef79Y6ibwRwVRbzyFZh/FD A7+cLOJSDoiH9A7FoZPLDO61e7bGMH6edvUFIoEFUXcGkqfMQQPC7+w+EVuymZR2vPMJ aHlw== X-Gm-Message-State: AOJu0Yzv/p1HdhK6ww1SkJXwRwteIhzvbMIb7DK/lC2y9JbOtn96p767 brDizhc7qNV3Xa5kv7YmPDG0MZdyg4mV330d X-Google-Smtp-Source: AGHT+IGFUhRZ8QyQOgMrJP9v8nyJJjSe6yzfOkj+vjLxq3SY8hiWpaFB9lapO6902JVcYzT8WCzrAQ== X-Received: by 2002:a05:6402:510:b0:522:ca6b:ad7d with SMTP id m16-20020a056402051000b00522ca6bad7dmr2584119edv.9.1694199046802; Fri, 08 Sep 2023 11:50:46 -0700 (PDT) Received: from lumine.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b7-20020aa7d487000000b005231e1780aasm1330894edr.91.2023.09.08.11.50.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Sep 2023 11:50:45 -0700 (PDT) Message-ID: <9269133a74e06bfc5ee5bfeee0342ba2f5beaeb1.camel@gmail.com> Subject: Re: How can we decrease the cognitive overhead for contributors? From: Liliana Marie Prikler To: Ricardo Wurmus Cc: Attila Lendvai , Andreas Enge , Katherine Cox-Buday , guix-devel@gnu.org Date: Fri, 08 Sep 2023 20:50:43 +0200 In-Reply-To: <87sf7o67ia.fsf@elephly.net> References: <87sf7o67ia.fsf@elephly.net> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.4 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::543; envelope-from=liliana.prikler@gmail.com; helo=mail-ed1-x543.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Scanner: mx2.migadu.com X-Spam-Score: -7.08 X-Migadu-Queue-Id: 028FF431F3 X-Migadu-Spam-Score: -7.08 X-TUID: rYSggL8nkvn4 Hi, Am Freitag, dem 08.09.2023 um 16:44 +0200 schrieb Ricardo Wurmus: > I often have to review Github Pull Requests, and I don=E2=80=99t go commi= t by > commit by go through the diff and annotate the changes.=C2=A0 I *read* th= e > commits to get a sense for how the feature evolved and why changes > were made, but the fact that new commits are pushed on top of the > branch is not an obstacle in practice, because the commits don=E2=80=99t > matter. >=20 > (I know, it hurts me too, but I don=E2=80=99t make the rules, okay?) Well, thanks to Guix inventing the time machine, individual commits do matter to us. > And in these review interfaces we can mark individual comments as > resolved.=C2=A0 So the flat list of changes with annotations *does* in > fact provide a clearer organization than a tree of emails. >=20 > Note also that we don=E2=80=99t usually review commits by starting one ne= w > thread for each issue we address, so we don=E2=80=99t benefit from automa= tic > branching of sub-discussions. To be fair, the summarizing of changes followed by comments to individual bits are a point that the forges at least get right.=20 However, unless you rework a single line multiple times =E2=80=93 which admittedly happens more often in the "push the change on top" model of the forges than in the "condense your changes to logical units" model we use =E2=80=93 a branching discussion per commit still comes quite close = in practice. Also, when there are multiple reviewers notice different things, you also get the branching tree. > On Github, Pull Request branches are like our WIP branches.=C2=A0 They ar= e > how we arrive at acceptable changes.=C2=A0 Picky people like me would the= n > go back and write new atomic commits for the effective diff, but in > my role as a reviewer I usually rebase, squash, and merge. >=20 > This workflow is more familiar to some and alienating to others, but > both of these workflows would work fine for Guix.=C2=A0 But today our > tools can only accommodate *one* workflow.=C2=A0=C2=A0 I'd imagine that rebase, squash and merge would exacerbate the workload on the committer side and I think that most popular projects on those forges already experience similar effects to us despite folks just merging the requests as-is and in part even getting paid by big tech for doing so. (Perhaps I exaggerate at getting paid for processing merge requests, I haven't worked for any of these companies, but especially at the ones more oriented towards doing business, I'd imagine that you can at least buy yourself a sandwich from the work you do from time to time.) > It happens to be the one I=E2=80=99m used to, but let=E2=80=99s please no= t pretend > that it=E2=80=99s inherently *better* than the other. I mean, when we say better, we would have to refer to some metric of goodness. And the metric I personally choose is somewhere in the intersection of accessibility and interoperability, because that is what matters to me. With Github, Gitlab and whatever other forges you have, you are more or less bound to their web interface. If that works for you, it works. If it doesn't, it doesn't. With the email-based workflow, I can use whichever tools I am comfortable with, as long as they work for sending mail (as a contributor) or eventually invoke `git push' on a bunch of signed-off commits (as a committer). This both increases the chances of things working and gives me the tools to build things that work for myself (and potentially others as well). Cheers