From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id cJCzBYSfAGVtWAEA9RJhRA:P1 (envelope-from ) for ; Tue, 12 Sep 2023 19:27:32 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id cJCzBYSfAGVtWAEA9RJhRA (envelope-from ) for ; Tue, 12 Sep 2023 19:27: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 76E47560F6 for ; Tue, 12 Sep 2023 18:58:34 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=Ne7sFOnX; dmarc=pass (policy=none) header.from=gmail.com; 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=1694537915; 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=GJkJxySlk7IEJ8PkpHi9xI2GKLan3FzQqqBlrGoUVL0=; b=qczKQ0Qb40qkL4L7YRsHednMg/h6dqmk2szzyywcQl0FJgJBqCuMhjkJ4VPo/RU9jLrryP h0I22LkTjvzAOqy8En+f0Q6G3yugHQQTwGe+JttEIXhWJ0P4n2BIhSUGpiABMsUO10m2gn fVNRSiQLWgu23Bk9d5MTKxhcZ9oMEnB27bahpDxn/Ua+hZIndwh2wi3VKgQ3v7WCuM6s2E sbtqpmw6PiAheinMQDPd6EIq37FxZO4GusVlvKyq9fan7PWzfqyahZdp3mmjDXIv1t0Iql g0+nR5JBSaPyfAQUZLeYWXWx5KY3WEWOSxiTPSunVeCJe1PMKcWLIHgnY0yYjA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1694537915; a=rsa-sha256; cv=none; b=EHqxe/CBXKCfFLqfWFYTIaSZDIQ/1NEw+h7u31lod3vCxwqJlvAlHUBUuXOiJAZBTunkBS F6oT7lYRMmfpnZmLxjjQidmyU0zWjPIUi3nj22fMofmDBHXNmyl3xW3YslNE1Px2lzvlwb TgvTejPhIFZCZDwKbcPNvDLdmIjBkGvoRScQeKZoxpdkurdqi9X069E2EXkWTE7ZYqySy/ eggUp2LwHrScvBzDuDmLcGuahk7YE1zOLugE6ffxw8wl3XlM/BHw5izbD2TTLua67/8gJ/ cnhnXMmBVhkOXWQ8DDQMwHRiBYhapwOX+gdy/bES+axJLvS97yziCkHhAsBxXw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=Ne7sFOnX; dmarc=pass (policy=none) header.from=gmail.com; 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" Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qg6i5-0006WI-NL; Tue, 12 Sep 2023 12:57:57 -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 1qg6i4-0006VX-6b for guix-devel@gnu.org; Tue, 12 Sep 2023 12:57:56 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qg6i1-0002yl-7c for guix-devel@gnu.org; Tue, 12 Sep 2023 12:57:55 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-3fe4f3b5f25so17209325e9.0 for ; Tue, 12 Sep 2023 09:57:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694537871; x=1695142671; 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=GJkJxySlk7IEJ8PkpHi9xI2GKLan3FzQqqBlrGoUVL0=; b=Ne7sFOnXLVk8PPwhSVw2nLNHBFuRgLaJxuv8tZzNQYus2lD9y6iI6rAzPkvR02HKwI 9LrFOVdQrZV8CwLYHkQVnLR6/+RS4gzMmX2COphkf4JmuflIE0ky1oVzx3pf0+f6VY34 f9VpCmuTaw/1me1aRwIL4zQfXfSs8aKbVe798TjpKnTKxu19VU2MZ9Ca0dGlqBLfpTdn Yp5c1E+jX0l2wmit+38BVYGRqcpAAlchStHMhLJ2LxBmwIhRjkCgXSIQYufo7BTvp1SL alam7sRXGxyxIeqlVx7CvmEtKXoAdNH7uuzJyrjADwWk9tCfWR/UOzZByRsG4kVwhRWe xppg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694537871; x=1695142671; 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=GJkJxySlk7IEJ8PkpHi9xI2GKLan3FzQqqBlrGoUVL0=; b=ImuG2t3BU02d9ph0TCWn8sEjgDNX3A2/pNOz8ZNYVuOFUwRd3ESMnZKIii+vkuTQ0A SHg13fpexGGw6OoSGgVkK+kJA33CsvZphFOd0s8hZtKPhY29mm3EqHtK5RpdHlowQaAN QAOWPAGkvGrQblREhnqFC3JFK1F7SmimNtSn/jqFWtsAWr/Ldpn+XbT3K3C3D1az9EM/ h+3vYJ44q4z2bCanRzPACbby3wmdZI4c5BxftpGTh3dUwIxCeK/rWp11+L+7Qq49RiER zF7qz9HyImmZdgWObn2nhRUYhA6YnqzCY9EJTlCcT1n0LZZnM0wuNMkc7G6RqHp/IxMM aYsw== X-Gm-Message-State: AOJu0YxFpvHm+NCE6hq4X+IMuJWhvUxJyfILIxNhZsDx67J7iiONd2Wc XiJVcRJYEflTnlP+yX4TMRiO4UgghZ0= X-Google-Smtp-Source: AGHT+IG/M0MptD3R/9UMBeWX4Es7DeRl+NTMd99YU7jLBph5+R7MGGXwscP7+vYDe/WidiVLMj4sGQ== X-Received: by 2002:a05:600c:34ce:b0:401:bb6e:453a with SMTP id d14-20020a05600c34ce00b00401bb6e453amr58028wmq.0.1694537871070; Tue, 12 Sep 2023 09:57:51 -0700 (PDT) Received: from pfiuh07 ([193.48.40.241]) by smtp.gmail.com with ESMTPSA id 21-20020a05600c229500b003fff96bb62csm13331382wmf.16.2023.09.12.09.57.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 09:57:50 -0700 (PDT) From: Simon Tournier To: Maxim Cournoyer Cc: Liliana Marie Prikler , Ricardo Wurmus , Attila Lendvai , Andreas Enge , Katherine Cox-Buday , guix-devel@gnu.org Subject: Re: How can we decrease the cognitive overhead for contributors? In-Reply-To: <871qf3xxjm.fsf@gmail.com> 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> Date: Tue, 12 Sep 2023 18:57:47 +0200 Message-ID: <874jjzfhx0.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::336; envelope-from=zimon.toutoune@gmail.com; helo=mail-wm1-x336.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-Spam-Score: -1.98 X-Spam-Score: -1.98 X-Migadu-Queue-Id: 76E47560F6 X-Migadu-Scanner: mx0.migadu.com X-TUID: n8yd6qzc34sx Hi Maxim, On Tue, 12 Sep 2023 at 10:42, Maxim Cournoyer w= rote: >> Even before looking at it, I have to spend some time to find a way to >> manually apply the patches. Then, rebasing on the top of master could >> lead to conflict but that another story and the same appears whatever >> the workflow. > > I think this kind of problem has improved though, since we deploy by > default our etc/git/config snippet, which sets 'useAutoBase =3D true'. > > At least I don't have a problem when applying patches with 'git am -3s'. We are drifting. :-) This branch of the looooong thread starts with: Re: How can we decrease the cognitive overhead for contributors? Attila Lendvai Fri, 25 Aug 2023 08:07:53 +0000 id:JRUs8LVm3AtAh0MnHjE5rnhB4sNET0vWTOO2N3w2KfvKoM3CALRNwHTmwJ0Y9Bg3= ZDWCs8j-1bMCo9aRiaoac8TAkuXAvrWgSwt_8RcwhQA=3D@lendvai.name https://yhetil.org/guix/JRUs8LVm3AtAh0MnHjE5rnhB4sNET0vWTOO2N3w2Kfv= KoM3CALRNwHTmwJ0Y9Bg3ZDWCs8j-1bMCo9aRiaoac8TAkuXAvrWgSwt_8RcwhQA=3D@lendvai= .name https://lists.gnu.org/archive/html/guix-devel/2023-08 Attila speaks about the PR model. Then many comments later about the pros and cons, the discussion is split intro the contributor side and the reviewer side of the PR model. Ricardo reports then their experience reviewing Pull Request: Re: How can we decrease the cognitive overhead for contributors? Ricardo Wurmus Fri, 08 Sep 2023 16:44:41 +0200 id:87sf7o67ia.fsf@elephly.net https://yhetil.org/guix/87sf7o67ia.fsf@elephly.net https://lists.gnu.org/archive/html/guix-devel/2023-09 And I provide one typical example where =E2=80=9Cour=E2=80=9C model leads t= o some friction for the reviewer: the first step, apply the patches. And this exact same friction does not exist in the PR model by design of this very PR model. I am not saying the PR model is perfect and I am not saying =E2=80=9Cour=E2=80=9D workflow is crappy. I just agree with Ric= ardo messages. Now, yes this kind of problem is improving. Please note that the problem is not new and I am aware of it. :-) I submitted on October 2020 the first mention of =E2=80=98git format-patch --base=E2=80=99 in the =E2= =80=9CSubmitting Patches=E2=80=9D section and d18b787d8a5cada8d239f1335257d0c1bca7f825 had b= een pushed only on September 2021. For whatever reason, sometimes patches fall into some cracks or are badly formatted or something else. Then, applying them becomes boring. I am not saying that=E2=80=99s impossible, I am just saying that sometimes = we have a friction (something that has no value for the project) because of our workflow. I am not speaking on the vacuum of an hypothetical problem but I am using a concrete example patch#62202 from my own pile. Using the usual =E2=80=9Cgit am -3s=E2=80=9D from Emacs Debbugs, then I get: --8<---------------cut here---------------start------------->8--- Applying: import: juliahub: first script draft. error: sha1 information is lacking or useless (guix/import/go.scm). error: could not build fake ancestor hint: Use 'git am --show-current-patch=3Ddiff' to see the failed patch Patch failed at 0001 import: juliahub: first script draft. When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". --8<---------------cut here---------------end--------------->8--- Ok, maybe that=E2=80=99s because some empty commit message (I did not know = that and I had to search using search engine, well I do not know), let=E2=80=99s= try with =E2=80=9Cgit apply=E2=80=9D, then I get: --8<---------------cut here---------------start------------->8--- error: patch failed: guix/import/go.scm:503 error: guix/import/go.scm: patch does not apply --8<---------------cut here---------------end--------------->8--- Ok, that=E2=80=99s maybe this file had been modified. So I do, --8<---------------cut here---------------start------------->8--- $ git log --format=3D"%h %cd %s" -- guix/import/go.scm ae587c2ef041 Mon Mar 13 15:08:33 2023 +0100 guix: Strip #:use-module lists. 3c24da4260f2 Sat Dec 31 14:48:46 2022 +0100 import/utils: Pass all argument= s through to package builder. c1db66fa0a17 Sun Jan 9 23:17:17 2022 +0100 import: go: Correctly report dia= gnostics upon version mismatch. --8<---------------cut here---------------end--------------->8--- And I checkout ae587c2ef041. Same error. The parent of ae587c2ef041. Same error. And I checkout 3c24da4260f2. Same error. Ok, do I try with b4? Well, at this point, do we agree there is useless friction? :-) Maybe I am missing the obvious. Maybe that=E2=80=99s a rare case. That=E2= =80=99s just one from my pile. And I see that time to time. After 15 minutes today (and 10-15 minutes on April, 7th =3D 24 days after the submission), I just give up. And it ends on some eternal postponing on my side; until I will just copy manually the 21 patches and manually recreate the 21 commits. Ricardo used the term =E2=80=9Csuperior=E2=80=9D and Liliana asked a defini= tion. That=E2=80=99s the origin of my email. Instead of a definition, I was pointing (and again here :-)) an example where =E2=80=9Cour=E2=80=9D workflow just fails = when the PR model could not by design. Last, do not take me wrong. 1. I am happy with =E2=80=9Cour=E2=80=9D workflow. 2. I recognize that =E2=80=9Cour=E2=80=9D workflow leads to frictions =E2= =80=93 and I consider that I know enough Emacs lisp or Bash for writing small helpers. 3. The submission I am using as example is a gift, I am happy that the project receives such gift. The failure is on my side or on =E2=80=9Co= ur=E2=80=9D workflow. 4. Things are improving, hopefully. :-) However, it remains very annoying corner-cases in our workflow that will be very hard to tackle. For sure, Mumi subcommand could help. 5. I would be happy if someone could send some v2 version providing enough information to be able to just apply. About #4, as I said elsewhere, I think the most promising is to wrap something like: guix time-machine \ --url=3Dhttps://git.guix-patches.cbaines.net/git/guix-patches \ --branch=3Dissue-123456 --disable-authentication \ -- build and probably via Mumi. My 2 cents on the reviewing process. Cheers, simon