From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.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 MHAxM6jB6mQwIgAAauVa8A:P1 (envelope-from ) for ; Sun, 27 Aug 2023 05:23:20 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id MHAxM6jB6mQwIgAAauVa8A (envelope-from ) for ; Sun, 27 Aug 2023 05:23:20 +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 19E8150A72 for ; Sun, 27 Aug 2023 05:23:20 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=BEYGj3hS; 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=1693106600; a=rsa-sha256; cv=none; b=EavGU6QO5XpxziVVenTzv4dwr5OI0bZ0Dx7N3AfD3hR1sdRGR7ns9T62XQMAi/EcjYQ+9A 81pDBJSmLUUkp6uejz2C57p12NyD1IuRyM18Y8+RgBbjfA6vsPy32UWZ/ce7PWT2vWHCvG zsCRFJzpTBJt+aM+VYc4u01ma99en7bP3ZBUiRJ7lOgUXerBAkE3DfEY5GS2DlDdPQbuTc 25Sq6RwE6HWlyNfPgkSmZmBR9qwJwJ+gQHqAUBcNyw8kd1BCDpxtSj3nbBaa6Z22ZsbyMy FNUCQKixJHZKRhmPN7x6q/tyvll/oeOCmDsTiHgo3ixtDdLN1MyXYnVcsquruA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=BEYGj3hS; 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=1693106600; 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=OuLh3wqHs/NJsVq4bqIZshnT95cbwCaCqc4vJ5x0wyM=; b=litAZN9tCWKjm+Vyp2UwrAxZv2ecRGxlkK7Nt4fv7qhHVO19R07wZ+UkjboQyPB/3wzjGs 8B0PbnOUie7NBWciMFdSB9eJx8QVyk1aJKgg6h8Fi5fEVPNuKTrIoS6ryhgxVDQqM5LBWu mz+uzxyCQaiENQ7XM5gT3RLah5cs0f1kin39WHAhcCu+SovCgylTsx1AxXMDcX5g9u7m7V s78LyE5Enc1koP7pome9HhP3nQBXpm6aO0QrNPypNR0tIIjRq4PyFTnNkLGdSD0MvvNYhd m+hOqxTBVOjTJeqHRpQDxJA+ai+NWaO0ixlSNaM6QhAIyBEPifWnoQONN4tTSg== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qa6MV-0000kv-O6; Sat, 26 Aug 2023 23:22:51 -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 1qa6MU-0000kh-8F for guix-devel@gnu.org; Sat, 26 Aug 2023 23:22:50 -0400 Received: from mail-qt1-x832.google.com ([2607:f8b0:4864:20::832]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qa6MR-0006MC-UI for guix-devel@gnu.org; Sat, 26 Aug 2023 23:22:50 -0400 Received: by mail-qt1-x832.google.com with SMTP id d75a77b69052e-412195b1e9aso5845931cf.2 for ; Sat, 26 Aug 2023 20:22:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693106566; x=1693711366; h=mime-version:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=OuLh3wqHs/NJsVq4bqIZshnT95cbwCaCqc4vJ5x0wyM=; b=BEYGj3hSrLBd5A1Ma+widUCc4G9gjpfrrwufio8xrqQYL4MhMprI29e2NDIcrRn8bo p6nFVLIIusBHSby5O9noRRO09XsWdHBFZpHIno+Qj1EZ6nzDwK8ME60WKyYZYsqOlwIw JMN3rEwQqWHB55FkBLXUI0Br8cZmMSBED5nWJ9/tdyW7vkATwlQX9g9kMB1667rx8E+M mhFjPLwGNsc6Zlxi/akIWusEqgZCPLDNk1Oy1DidheesMnmG+Smvyf9kNCbe8wK4M9pR GxLctiT672n+wBlghGi0e8kQYRsPO+yFEnl6coilGcUw/VLRwrYWAHMloDYNxZFsZOqz CHBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693106566; x=1693711366; h=mime-version:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=OuLh3wqHs/NJsVq4bqIZshnT95cbwCaCqc4vJ5x0wyM=; b=Q1r95YeXfWyFeMtEPhZI+NmCt4SO4EkXi8JVrPweg9LcttQlxorsGSt9EpFbdxH/jo O8JycxAAuYRnSZhgDj930jGeMGZXlTKKB6q9p79ltEp+3NGEaDXsAc2tjDLXbEyC9O3X EUAvR5FpQsmXCO00gDEDZ5u4yHrgWzXdAR1oFMJhcMXpII34G4D5gIk3VVe9KHc9tuvl n/5e6wfcZbgR3h61/DQSjCtN/Gda2v1mOoLaUCjZGJx13VNIw9K/CGqzwA+GHEyq5yjq WwhVs67y+ZOAMFXC3d6qLDkQ7bAqQTBu1Xu/dN+v+JIMsxtedfFORYLlVjw4/Hzi/RrC wt+Q== X-Gm-Message-State: AOJu0YwpbHplYZTw4P4YAmMZpDFqwR07VlqlihN6xOl7aIoqG2j9vaO/ KFOaxUPDHi1f/SRqMKaegEaYk40WHG+pNw== X-Google-Smtp-Source: AGHT+IFy2asrxLKMdvGl/F+UF/jCA1C/t6VTpN0ZuX6KEX+SyAUy2NQK26lvh8kbnqNGNDz3DugP/A== X-Received: by 2002:a05:622a:1483:b0:410:9701:63bb with SMTP id t3-20020a05622a148300b00410970163bbmr23288580qtx.21.1693106566496; Sat, 26 Aug 2023 20:22:46 -0700 (PDT) Received: from hurd (dsl-155-106.b2b2c.ca. [66.158.155.106]) by smtp.gmail.com with ESMTPSA id u16-20020a0cdd10000000b006365b23b5dfsm1633883qvk.23.2023.08.26.20.22.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 26 Aug 2023 20:22:45 -0700 (PDT) From: Maxim Cournoyer To: Katherine Cox-Buday Cc: "(" , guix-devel@gnu.org Subject: Re: How can we decrease the cognitive overhead for contributors? References: <87msyhgccg.fsf@disroot.org> <547c097a-d805-9a55-11d9-b0434327f89d@gmail.com> Date: Sat, 26 Aug 2023 23:22:44 -0400 In-Reply-To: <547c097a-d805-9a55-11d9-b0434327f89d@gmail.com> (Katherine Cox-Buday's message of "Fri, 25 Aug 2023 18:39:52 -0600") Message-ID: <871qfpjhiz.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::832; envelope-from=maxim.cournoyer@gmail.com; helo=mail-qt1-x832.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: mx0.migadu.com X-Spam-Score: -8.59 X-Migadu-Queue-Id: 19E8150A72 X-Migadu-Spam-Score: -8.59 X-TUID: v8hM1gck+kwL Hi Katherine, Katherine Cox-Buday writes: > On 8/24/23 12:33 AM, ( wrote: > >>> * We could support a managed web-based workflow >> The problem with this is that it would not be possible without >> changing >> the git hosting entirely to something like Gitea. I'm personally a fan >> of the email-based workflow; what, specifically, is it that bothers you >> about it? If it's: > > I can envision some kind of upstream branch that's blessed and merged > daily. The web crowd commits to that, the email crowd commits to main. > >> - Setting it up: Yes, this is annoying. Sadly, our mighty oligarchal >> masters have taken it upon themselves to make it as annoying as >> possible to use email from anywhere but their web or mobile clients. > > This isn't it at all, but I agree with your comment. I'm fond of > email, and it's distressing how centralized it's become. > >> - Sending the emails: This isn't that bad once you get used to it; >> sadly most Git clients (magit sadly included) don't support send-email >> well or at all. But on the command line, all you need to do is: >> # for a single commit >> $ git send-email --to=guix-patches@gnu.org -1 --base=master -a >> # for several commits >> $ git send-email --to=guix-patches@gnu.org -$N_COMMITS --base=master --cover-letter -a >> Or, if sending an amended series: >> $ git send-email --to=$BUG_NUM@debbugs.gnu.org -$N_COMMITS --base=master -a -v$VERSION > > It's this. Having to: > > 1. Remember the flags and their values > 2. Remember the email address (it might seem silly unless you have > forms of dyslexia. is it guix-patches? or patches-guix? Wait, what was > I doing?) > 3. And then the whole deal with what to do with follow ups. > > I feel like I know my way around git pretty well, but I struggle with > how those concepts map onto sending emails. Perhaps you'd like to invest 1 hour (30 minutes?) into learning to use 'patman'. It allows attaching metadata to a feature branch by means of Git message tags, e.g. the associated email address with 'Series-to:', or the current revision with 'Series-version:', etc. Then submitting the series is a matter of invoking just 'patman', and following the indications. For more information, try: 'guix shell info-reader u-boot -- info "(u-boot) Patman patch manager"' > I have only been able to surmount this by lifting these concepts > through scripts into higher-order concepts with less cognitive > overhead. > >> - Switching between branches: The best way to handle this is with >> subtrees; see `git subtree --help`. > > Interesting! I use worktrees, but maybe subtrees are easier? I'll have > to read up on this. Thank you! > >> - Applying patches: This is a bit annoying. Most email clients won't >> let you set up commands to pipe mailboxes to, unlike aerc. Perhaps we >> could have a `mumi apply` command to fetch a patch series from debbugs >> and apply it to the checkout. > > I wrote some elisp to one-key apply patches from GNUS, but I guess my > point is: not everyone can do that. How are we to expect more > contributors if that, or something similar, is the barrier to entry? 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 5. Press '|' (pipe) on any message, and pipe this to the command 'git am -3'. To apply multiple patches at once, you can specify an argument prefix, e.g. 'C-u 10 |' to apply 10 patches at once. I hope that helps someone. -- Thanks, Maxim