From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.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 KJeFM1Q9AmX86AAA9RJhRA:P1 (envelope-from ) for ; Thu, 14 Sep 2023 00:53:08 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id KJeFM1Q9AmX86AAA9RJhRA (envelope-from ) for ; Thu, 14 Sep 2023 00:53:08 +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 7E10659AD6 for ; Thu, 14 Sep 2023 00:53:08 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=qOFPoNAX; 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=1694645588; 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=6rC/vILYRco1GBIbi0zmsd5YBCoJs+Qad88zdfln/3Y=; b=diGWyWD5EBs5SlSEKKwPbL3j2r1FU22AgG9kMRtNJe7cPq9sab//WcDoHbBkX8/aJWcwyp xTMR4kMZ3xcrCQGBZSbxl1yqcYxRcuIHyLRGqpHs1vmWJUOKxzMHoxKkMPwBNyEFdEdefn WZM/VIRSMEqzS7pHIjtMbDxg/MzjSt6c+Eb1dZUVgPVU5hAZyhXqjR6i+Y8e26k+k09sFy RisdJd1j4jjAafOAjvyapbGPEZGCnY7ufgvC14t4yXY7/qmvMArmCCGEvszdIwPug49mq1 AlhLTEp6ZHYpVR2WB3g6rzlOWdab0evJiPCQKaDUgjp7lv/tedJ06039Ln+zQQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=qOFPoNAX; 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-Seal: i=1; s=key1; d=yhetil.org; t=1694645588; a=rsa-sha256; cv=none; b=Js0y/CSLn/1A5h1R3nUeNJbaCq4NQ2Yvsm0p2JPQzl1H1apPH63XRsaApOEJKy2HGeSXH1 0TqYXwDPNEXhSPBW/WmnpA7jWxfBaEN7GE+ym3PF6BWH6MN1NHPQTE5ApVjHOQ9wLf4MBd 1Ma2kxJAKqHs0Io1xdD7XGx7v+G5AAydHkCLdV8s3b1h2JrV/ku5CHCpKng4Kh1/39DssL uRsmyyTcTmv/OATEcWvbqtIO9e7GegE0YXnoj4tr1nxxhKpB6dLrDvovB9z3QXEYuXp23q go2YK5c39zrgO4ThgTKicYPDcMz8on90/u1h8Gd8JyJzw4C3qoffAe5dbbET7w== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qgYii-0002yi-SN; Wed, 13 Sep 2023 18:52:28 -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 1qgYiY-0002xX-IN for guix-devel@gnu.org; Wed, 13 Sep 2023 18:52:18 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qgYiV-0000vn-VZ for guix-devel@gnu.org; Wed, 13 Sep 2023 18:52:18 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-401314e7838so893105e9.1 for ; Wed, 13 Sep 2023 15:52:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694645533; x=1695250333; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:from:to:cc:subject:date:message-id :reply-to; bh=6rC/vILYRco1GBIbi0zmsd5YBCoJs+Qad88zdfln/3Y=; b=qOFPoNAXi6FoT79fRbt9URd7PNQlOCh2vLYIqvYDEAA1T4eMAfcOFxVpev9PsJ+8i7 +2NlACLAnsAFVp/WVFKZzwTtQZaMT3nOdQltFhPrgtYCqXuzPcuOb7+bdoWsIr8sBqTe lcWMg0XqLzrHqg5S98rk+PUYMhKRWEG/3Wis2xeRbU1LQ8ERYay6TpaXBT83NNR7piGB BhAyzHkWrzZpe15OWgzCLScH003C+v0YQLdZbSv4e1ec2zbInjpdCUDBtrNVQ3A7+9cA wQ7vOnRwg5/d0HoMtYa7/UsiFPH3CBgcMYVjw62PDdwsFCr4gLIAkslPSNfhulmkA4D3 hKOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694645533; x=1695250333; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6rC/vILYRco1GBIbi0zmsd5YBCoJs+Qad88zdfln/3Y=; b=v//thaFHcZtjw22vr80vKeaOLIre2u9APjTRpHa4iNK5hXpV9+q2CBFczvcc4lK0qY 6Z42YHSYBMiY103OxWYU/Hnp6nva3ritKUsKiUpBUY/7mPx+VppTrZ2PXxC/1E3P6pxu bmXXgXJihbMlF7N9roZ9DP1YsSzJrV6SnEAJTuZ9JqIlkD6BaIlTP+GepRiYTjD4VCAN r+5NPwiuPeM3Yre1W92EWM7Wujidsayp/fV10w77ZsRrg92NP1R5MaTwV298v4vBNR22 uCodrZxTbfsZEIx8K7dWZnO57BPrwLrJFYIuXpf4dz3EPz4wff9EAhpxpK7fXJIMZSuD zMrg== X-Gm-Message-State: AOJu0YxiSfHNdPuAXaUuzqCeky14redsmDAYinuxN900hM5a2fy4tAEA nsQybh7c2muAsr4zZqrm51gsv7Q2XF4= X-Google-Smtp-Source: AGHT+IEZuR9YYzvbrKcsloxt4LwZYw/FpZPq/ekpq6h4DEKw75NdvTZfQDyX3YKWRDD/VNhFP0CTug== X-Received: by 2002:a05:600c:1c0d:b0:401:c07f:72bd with SMTP id j13-20020a05600c1c0d00b00401c07f72bdmr3185274wms.4.1694645532817; Wed, 13 Sep 2023 15:52:12 -0700 (PDT) Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e]) by smtp.gmail.com with ESMTPSA id e13-20020a05600c218d00b00402f745c5ffsm325461wme.8.2023.09.13.15.52.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Sep 2023 15:52:12 -0700 (PDT) From: Simon Tournier To: Giovanni Biscuolo Cc: Attila Lendvai , Maxim Cournoyer , guix-devel@gnu.org Subject: Re: to PR or not to PR, is /that/ the question? In-Reply-To: <87y1ha9jj6.fsf@xelera.eu> References: <87sf7o67ia.fsf@elephly.net> <9269133a74e06bfc5ee5bfeee0342ba2f5beaeb1.camel@gmail.com> <87tts44d2y.fsf@elephly.net> <4c85b742e29ebbf7fe3cde3f72961269ec26218c.camel@gmail.com> <87cyyr3zdc.fsf@elephly.net> <87fs3lj8tn.fsf@gmail.com> <07680e309df1fe42da11d9e3a6c33de40f82bf09.camel@gmail.com> <87r0n4fss3.fsf@gmail.com> <871qf3xxjm.fsf@gmail.com> <874jjzfhx0.fsf@gmail.com> <87y1ha9jj6.fsf@xelera.eu> Date: Thu, 14 Sep 2023 00:02:49 +0200 Message-ID: <867cotybna.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=zimon.toutoune@gmail.com; helo=mail-wm1-x32f.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-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Scanner: mx1.migadu.com X-Migadu-Spam-Score: -0.11 X-Spam-Score: -0.11 X-Migadu-Queue-Id: 7E10659AD6 X-TUID: wePLl0Nm/N9u Hi Giovanni, Thank you for your detailed message. Sorry, I have not read all the details because I have been lost. What do you want to explain? Well, let me explain my understanding using my own words. :-) When one reduces to the core of the workflows, the main difference between =E2=80=9Cemail workflow=E2=80=9D and =E2=80=9CPR workflow=E2=80=9D = is the way the submitter sends the code to the reviewer. 1. email workflow: the diff are sent by email. 2. PR workflow: the diff are sent by the VCS itself. Then, we can put a lot of glue around these workflows. It is possible to work in a centralized fashion or in a distributed fashion. It is possible to use a proprietary service for delegating some parts using a button via a web-interface. It is possible to have a service based on free software that automatize some parts of the workflow. Etc By glue, it reads a range from mailing list to Github, or from Gitlab to Sourcehut, or from personal custom scripts to tools as B4, public-inbox, Gerrit, patchwork, etc. Obviously, the PR workflow also depends on the features of the underlining VCS when the email workflow not. Bitbucket provided a PR workflow for Mercurial. And a PR workflow would be hard to implement using Subversion or worse using CVS. Note that the email workflow #1 might be centralized. That=E2=80=99s what = we are doing when using one mailing list; there is only one unique location for exchanging all pieces of code. Or it might be decentralized, that=E2= =80=99s how the contributors send their contribution to some linux kernel maintainers. Note that the PR workflow #2 might be decentralized. That=E2=80=99s more or less how Linus Torvald=E2=80=99s =E2=80=9Clieutenants=E2=80=9D are doing fo= r asking a merge in the Linus=E2=80=99s mainline linux kernel. Or it might centralized and web-forges provide many examples. :-) The requirement for #1 is just being able to send emails. The requirement for #2 is to have a public Git repository. Both workflows have pros and cons. And then these pros and cons also depend on how the workflow is implemented. And none is not much better than the other. The slight difference between the two is the state of the contribution from the reviewer perspective: . About the email workflow #1, the patches might not apply for many reasons but because they are sent by email, the notification =E2=80=9Chey g= ive a look to thing=E2=80=9D and the =E2=80=9Cdiff for thing=E2=80=9C are synchro= nized. . About the PR workflow #2, the patches belong to a Git repository so they are already applied. However, between the notification =E2=80=9Chey give a look to thing=E2=80=9D and the moment when the reviewer pulls the th= ing, the Git repository might disappear, be replaced, history rewritten, etc. Well, that=E2=80=99s my understanding of the difference between #1 and #2. = A bit simplified but it captures my understanding of the main, I guess. :-) Cheers, simon