From debbugs-submit-bounces@debbugs.gnu.org Mon May 08 13:17:59 2023 Received: (at submit) by debbugs.gnu.org; 8 May 2023 17:17:59 +0000 Received: from localhost ([127.0.0.1]:41481 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pw4Uo-0006WE-Ma for submit@debbugs.gnu.org; Mon, 08 May 2023 13:17:59 -0400 Received: from lists.gnu.org ([209.51.188.17]:48356) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pw4Ud-0006Vw-4r for submit@debbugs.gnu.org; Mon, 08 May 2023 13:17: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 1pw4Ub-0005ct-VV for bug-guix@gnu.org; Mon, 08 May 2023 13:17:46 -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 1pw4Ua-00021n-D9 for bug-guix@gnu.org; Mon, 08 May 2023 13:17:45 -0400 Received: by mail-qt1-x832.google.com with SMTP id d75a77b69052e-3ef33f12995so26226021cf.3 for ; Mon, 08 May 2023 10:17:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683566262; x=1686158262; h=mime-version:message-id:date:subject:to:from:from:to:cc:subject :date:message-id:reply-to; bh=UZkOFuKJUP7cFOfOzCOZCCEPRr33DG02C5cTT3JDo3E=; b=DSTbChoF7vomcu2Qe7gubMCy2sXSZJIFcZiW/NHtsWd+n3+wWfvQUetoS4exsU5Ow4 uKXht4OwnoZD2je1Yg+5qXNiKPvVLh8qO4bD8qzOmbvRTCVaXq6egbRGl5H8obUNyUTM 7/LkV4QVREnaWtK66zYbaFSqg+m9Yssc9LsIzPV3qg49FoO/m0zH1MtU5fJdufFAOR6P 3UyIEhdk3CyCEiw+aAtMJMDOjJTKr7C6nHv1MJKFT6wd62jPTIXc3CGEUdnCJ5VovWRt 9+Iwg9HaND0+INy2qatyBHR/zEBbD3YtuhIhxqNYwR1G2HKPd9eeynhCGAmGuCXzZNoz 6tig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683566262; x=1686158262; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=UZkOFuKJUP7cFOfOzCOZCCEPRr33DG02C5cTT3JDo3E=; b=YHme3S+kbgwr5M84NE/HAxSREoXQKGZVJuc5vRcmHDA/JSILIMXrKCep4KHkm1XkB6 ZsgZkNr+dlHXHuP0c4cxgRj3tSUSTAKIvMLS4+xVz29Jo9sUmGF0lBkQWqxkQLb5kPFc ScrAkGg14/t5zLwS6vlSaXQ6KFc5tJOKDaYesos9E9zXgaubb3AzVyQmjNZf6zYvcgyB FQg+vZHlDBvKbcACrEiWrP/ZZrLyF8Rj1uO2ma4fkd6kPybX+g4JMarbMVrqGk+Vq9hJ Y3d6eG4BDzH+AD2UqDmd6o2hPZvtz10e/vOtvqKobz0MDCOA9kcw72Gp2qfCALBwnvCu jcpg== X-Gm-Message-State: AC+VfDwQZQzVTeHIlw/vgNJE7e3isoLQLe3gf2QhsdS0KrYsdxwWv06t j9rfjLX05VwsymXJcRroWjGdC9Uu5JH/PQ== X-Google-Smtp-Source: ACHHUZ61t0idyF8a8Oa9RvL/qCp1pYHxMr+viFkYubUPnfk8RRteuzvsXXqPh9vnSwnAluarU3Ghuw== X-Received: by 2002:a05:622a:1046:b0:3ef:5743:ac3d with SMTP id f6-20020a05622a104600b003ef5743ac3dmr18371571qte.5.1683566261836; Mon, 08 May 2023 10:17:41 -0700 (PDT) Received: from hurd (dsl-10-131-119.b2b2c.ca. [72.10.131.119]) by smtp.gmail.com with ESMTPSA id q29-20020ac8411d000000b003f1f26bbb50sm1840965qtl.35.2023.05.08.10.17.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 May 2023 10:17:41 -0700 (PDT) From: Maxim Cournoyer To: bug-guix Subject: A single X-Debbugs-CC header must be used X-Debbugs-CC: arunisaac@systemreboot.net, Ricardo Wurmus Date: Mon, 08 May 2023 13:17:40 -0400 Message-ID: <875y92vj2j.fsf@gmail.com> 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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Hi, After some tests, it appears that a single X-Debbugs-CC header must be used, otherwise the last one is the one that prevails. This matches my reading of the 'process' script of the GNU Debbugs instance [0], and thus must conform to the same email rules outlined in RFC5322 for the To or CC fields (only one such header must be used); multiple values can be separated by a comma. [1] --8<---------------cut here---------------start------------->8--- my %header; for my $hdr (@headerlines) { $hdr = decode_rfc1522($hdr); $_ = $hdr; s/\n\s/ /g; &finish if m/^x-loop: (\S+)$/i && $1 eq "$gMaintainerEmail"; my $ins = !m/^subject:/i && !m/^reply-to:/i && !m/^return-path:/i && !m/^From / && !m/^X-Debbugs-/i && !m/^cc:/i && !m/^to:/i; $fwd .= $hdr."\n" if $ins; # print DEBUG ">$_<\n"; if (s/^(\S+):\s*//) { my $v = lc $1; print DEBUG ">$v=$_<\n"; ## There may be multiple To: or Cc: headers (see bug#5996). if ( ($v eq 'to' || $v eq 'cc') && defined $header{$v} && length($header{$v}) ) { $header{$v} = $header{$v} . ', ' . $_ if length($_); } else { $header{$v} = $_; } } else { print DEBUG "!>$_<\n"; } } $header{'message-id'} = '' if not defined $header{'message-id'}; --8<---------------cut here---------------end--------------->8--- Only 'to' or 'cc' multiple headers are coalesced into one; otherwise the $header specific key (for a given header) is overridden to the last value encountered at line '$header{$v} = $_;', IIUC. Our teams.scm script should be adjusted to produce a single X-Debbugs-CC header with comma-separated values. [0] https://gitlab.com/npostavs/debbugs/-/blob/gnu-reconstruction/scripts/process#L171 [1] https://datatracker.ietf.org/doc/rfc5322/, 3.6 Field Definitions -- Thanks, Maxim From debbugs-submit-bounces@debbugs.gnu.org Mon May 08 14:29:59 2023 Received: (at 63378) by debbugs.gnu.org; 8 May 2023 18:29:59 +0000 Received: from localhost ([127.0.0.1]:41546 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pw5cU-0000Bg-PI for submit@debbugs.gnu.org; Mon, 08 May 2023 14:29:59 -0400 Received: from mail-qk1-f178.google.com ([209.85.222.178]:62729) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pw5cS-0000BE-R8 for 63378@debbugs.gnu.org; Mon, 08 May 2023 14:29:57 -0400 Received: by mail-qk1-f178.google.com with SMTP id af79cd13be357-75131c2997bso1903016885a.1 for <63378@debbugs.gnu.org>; Mon, 08 May 2023 11:29:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683570591; x=1686162591; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=037XXBE+XidEDqfZA0Gx0RipFLHnrJfhFImxx1MOfsQ=; b=RIDvyzHqHDZWfIdk18eKVJzSbfUEt/RRh4GMIA74pY+WFz0yDhtqdUegho1pTFN3VO FCn61YZsNJiWJyJpVhaENtNYZpIcrKkLWPxbLxoTNa/bfkHrU6AEIv/DoPaEwPANt0s4 HZtcds7fK72vo/pl8dJrZ9NJjW3DqiseFoDB9+BEDBjmc9K+t2XhLG+aAiU7HkwSRb+/ fIn/ugFsK0A+8u6jFrcrcgsgU5SYFw4pX+i9FjmXlG5m0J1888wYxSYLiu+BqM077sIq 6YWM87Oahg/XMetEPAOOLWOgVvAZ7lm5+MGPUtiTWtp0rgwsm2yRC0IBZsn6yNMNarQf QU2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683570591; x=1686162591; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=037XXBE+XidEDqfZA0Gx0RipFLHnrJfhFImxx1MOfsQ=; b=UCZ5qAv85SeQrpBwIfz2vF64rjvQ9m+mTUWZiEUFvpxcrbPyi4YKNDM6YYuiYT2NM+ 6wESfWNkMgiCL8STG+M/IuA75vXBQVMF5XDH+HLje1uCR0AHnVqr0QlQQqk+qLmroBsm 3oe5kmVR1Ea8IbfWpPCccrrzrkiDelXEjPY+ZxGvisJ4gZYZOvatgp5xPFWghJYQ532G IMtwvMvSvBJ3U+muR1j0mZT5CX8hi6Ij8DmysC71ILyH/i3mD6faf3xrznRHD4YqZQYV cnvdkzuH3D9GiVPi0WNtphKglVRwRd7TKcd8IsaVgPD/5wVgZxv7UNwKiBvpAgjDIy2W CxSQ== X-Gm-Message-State: AC+VfDxodvvoQJvw9fV3iILv23FZVfrMle5eWDocEvg6t1/114eJtW8m 1oi8o0ALJeoTfhIjbIe6Y9UCAFf5gd0lCA== X-Google-Smtp-Source: ACHHUZ4oeH9iQPV+pANeKRTi7qFT6KJU5dUBEK/slQqiiwrZSk5UpQll9d2q9qjjcRgOEEI+7WuUvA== X-Received: by 2002:ac8:5b88:0:b0:3ef:54c9:16d9 with SMTP id a8-20020ac85b88000000b003ef54c916d9mr26335490qta.28.1683570590981; Mon, 08 May 2023 11:29:50 -0700 (PDT) Received: from localhost.localdomain (dsl-10-131-119.b2b2c.ca. [72.10.131.119]) by smtp.gmail.com with ESMTPSA id b27-20020a05620a127b00b007571fbb5ee1sm311525qkl.30.2023.05.08.11.29.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 May 2023 11:29:50 -0700 (PDT) From: Maxim Cournoyer To: 63378@debbugs.gnu.org Subject: [PATCH] teams: Fix script to produce a single X-Debbugs-Cc header. Date: Mon, 8 May 2023 14:29:42 -0400 Message-Id: <3e14e27ad26ce9dee230733c7e77935b5f43599d.1683570582.git.maxim.cournoyer@gmail.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-Debbugs-Cc: rekado@elephly.net,arunisaac@systemreboot.net Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 63378 Cc: Maxim Cournoyer X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Fixes . * etc/teams.scm.in (cc): Adjust format pattern. (team->members, member->string): New procedures. (list-members): Refactor in terms of the above procedures. (main): Adjust the output of the 'cc-members-header-cmd' and 'cc-mentors-header-cmd' actions. --- etc/teams.scm.in | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/etc/teams.scm.in b/etc/teams.scm.in index dec175f630..50bfbca22e 100644 --- a/etc/teams.scm.in +++ b/etc/teams.scm.in @@ -605,23 +605,27 @@ (define (cc . teams) "Return arguments for `git send-email' to notify the members of the given TEAMS when a patch is received by Debbugs." (format #true - "~{--add-header=\"X-Debbugs-Cc: ~a\"~^ ~}" + "--add-header=\"X-Debbugs-Cc: ~{~a~^,~}\"" (map person-email (delete-duplicates (append-map team-members teams) equal?)))) +(define (team->members team) + "Return the list of members in TEAM." + (sort (team-members team) + (lambda (m1 m2) + (stringstring member) + "Return the 'email ' string representation of MEMBER." + (format #false "~a <~a>" (person-name member) (person-email member))) + (define* (list-members team #:optional port (prefix "")) "Print the members of the given TEAM." (define port* (or port (current-output-port))) (for-each (lambda (member) - (format port* - "~a~a <~a>~%" - prefix - (person-name member) - (person-email member))) - (sort - (team-members team) - (lambda (m1 m2) (stringstring member))) + (team->members team))) (define (list-teams) "Print all teams, their scope and their members." @@ -715,13 +719,14 @@ (define (main . args) (apply cc (find-team-by-scope (diff-revisions rev-start rev-end)))) (("cc-members-header-cmd" patch-file) - (for-each (lambda (team-name) - (list-members (find-team team-name) (current-output-port) - "X-Debbugs-Cc: ")) - (patch->teams patch-file))) + (format #true "X-Debbugs-Cc: ~{~a~^,~}" + (append-map (compose (cut map member->string <>) + team->members + find-team) + (patch->teams patch-file)))) (("cc-mentors-header-cmd" patch-file) - (list-members (find-team "mentors") (current-output-port) - "X-Debbugs-Cc: ")) + (format #true "X-Debbugs-Cc: ~{~a~^,~}" + (map member->string (team->members (find-team "mentors"))))) (("get-maintainer" patch-file) (apply main "list-members" (patch->teams patch-file))) (("list-teams" . args) base-commit: 4228d3c358669f5d15f01d3ba466f3356ecb6546 -- 2.39.2 From debbugs-submit-bounces@debbugs.gnu.org Tue May 09 09:33:18 2023 Received: (at 63378) by debbugs.gnu.org; 9 May 2023 13:33:18 +0000 Received: from localhost ([127.0.0.1]:42713 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwNSw-0000mf-34 for submit@debbugs.gnu.org; Tue, 09 May 2023 09:33:18 -0400 Received: from mail-qv1-f53.google.com ([209.85.219.53]:60692) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwNSt-0000mR-C5 for 63378@debbugs.gnu.org; Tue, 09 May 2023 09:33:17 -0400 Received: by mail-qv1-f53.google.com with SMTP id 6a1803df08f44-61b6a4233a1so54066816d6.1 for <63378@debbugs.gnu.org>; Tue, 09 May 2023 06:33:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683639189; x=1686231189; 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=QGmktG3kX7REZaAGgqLK6txoJCHYsmgyJ2vTM7cB7qo=; b=qbT/syd3gmGrWwUuJWPQ37xsw+t+lcx36n7IaJhHo5PcVT/cddogsYHpZ9bc6ap0G7 zXoO3K8QGG1tYIyRDJgbb7e53Ba3HN146C2tHq3IsdSbygusDqEWZJIlsAynK3CvGAnu FbI3mSgOzBKuz+V4CW/4Ct5y25jQWKSuJnlfpU08GWDjLfcYCdF65K4d+lM4ZYW1dh60 ZH9bXFRkkthCRkwuETZXm5BlaNPwTN6HfLgppRa5aBuOMhF+cNugOHKgLGLHqX0ORspI p5rEt1hbnfbpYR3aCmjIwXN0OkRPXw2Lqv8ozR+loc0kU1jYX52yb/9KdOpqEzqqgbt3 vqTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683639189; x=1686231189; 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=QGmktG3kX7REZaAGgqLK6txoJCHYsmgyJ2vTM7cB7qo=; b=l0OHWn7Hy+FiGne27KteCTbIHjtTnX3waLCPZMxz4YqwGF4hdls6n6PDFKIrAgSOCB Bm54OXfcJ7Zy2Qb3Zm05LCScvYnP1FT2jrvLTEEMIsArMmGYuyJ+CLlslkY6IWLOulNl dd9yFgC9o6EDsHgMSo9+UsW93w+E4pRdJE3N+YS2svuKL6OJ2gCPwgqtfxNlqlz+Twib RAkEQ/NikEiRtvOeT/z4UkP1r8N6IZNxxS+1FFzHhUdNVPsWLxHWFAe6fUzej0hTt352 R2WywvysCtgx0zhAAvBTY3eQphd+XCH49dx79xqwQBZejqV+ihxzbVFLEVxiIuUEH/Cv 1kAw== X-Gm-Message-State: AC+VfDxkefNwUSfL+AxqQsxRLjlPagsFH/FQh3Zp/cvmB45KP1rpVjKX x+tO+A2zcBJSj83Wi3MCUnd6Vxny6dKpvA== X-Google-Smtp-Source: ACHHUZ6WifyAABnnw3A5VOPbiKaQZhmKLu59KbuT73QovfJ8HGf9OMbYKK8wednPZEeLVkuG9qSX7Q== X-Received: by 2002:a05:6214:509c:b0:5e0:7ecb:8ffa with SMTP id kk28-20020a056214509c00b005e07ecb8ffamr18107931qvb.1.1683639189655; Tue, 09 May 2023 06:33:09 -0700 (PDT) Received: from hurd (dsl-156-94.b2b2c.ca. [66.158.156.94]) by smtp.gmail.com with ESMTPSA id a9-20020a0ccdc9000000b005f5b71f75f3sm743087qvn.125.2023.05.09.06.33.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 May 2023 06:33:09 -0700 (PDT) From: Maxim Cournoyer To: 63378@debbugs.gnu.org Subject: Re: bug#63378: A single X-Debbugs-CC header must be used References: <875y92vj2j.fsf@gmail.com> <3e14e27ad26ce9dee230733c7e77935b5f43599d.1683570582.git.maxim.cournoyer@gmail.com> Date: Tue, 09 May 2023 09:33:07 -0400 In-Reply-To: <3e14e27ad26ce9dee230733c7e77935b5f43599d.1683570582.git.maxim.cournoyer@gmail.com> (Maxim Cournoyer's message of "Mon, 8 May 2023 14:29:42 -0400") Message-ID: <87y1lxsk8c.fsf_-_@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 63378 Cc: rekado@elephly.net, arunisaac@systemreboot.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello, Maxim Cournoyer writes: > Fixes . > > * etc/teams.scm.in (cc): Adjust format pattern. > (team->members, member->string): New procedures. > (list-members): Refactor in terms of the above procedures. > (main): Adjust the output of the 'cc-members-header-cmd' and > 'cc-mentors-header-cmd' actions. Paul from Debian has posted a merge request to the upstream Debbugs [0] that would make it possible to use multiple X-Debbugs-CC. Now, I don't think the GNU Debbugs instance is kept up-to-date with Debbugs upstream, having its own set of changes, so I think the patch here should still be applied in the meantime. [0] https://salsa.debian.org/debbugs-team/debbugs/-/merge_requests/18/diffs -- Thanks, Maxim From debbugs-submit-bounces@debbugs.gnu.org Tue May 09 19:43:16 2023 Received: (at 63378) by debbugs.gnu.org; 9 May 2023 23:43:16 +0000 Received: from localhost ([127.0.0.1]:44744 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwWzE-0003mO-1X for submit@debbugs.gnu.org; Tue, 09 May 2023 19:43:16 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:44478) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwWz9-0003mA-M6 for 63378@debbugs.gnu.org; Tue, 09 May 2023 19:43:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=g7FFxyjFfGAIBjq42YUT5ivhpfJl/xU+LKQR7/E9tg8=; b=bDZWZgCV6Y8R14/awzfgkk+4Dv TqP19lYKPR4GWNTGE8g1JEOyTThtHNi6dVUxDiHf8OrqQnyVIqPs2qhKrGUd6nZnQA/f3PzVEy1QA 4bDIq1CP4ISxrPhEzf9oadXMaPsVnuPXhJm1vpkYkrrrhMmL1BeibJJjOpH315rzFFFuG/KMTdhpz mcT6qIwKc2MsyZuWDsm7qLrmT681Ug61OXrcdiJe5y8PGfAqLnoYil2mCvwnXqXwXkQGTNwHWAoYd p1nCv/gIxQBXFpuPM1Hb1HCSoDW3/ZEQRkLpiM88tSd0UgcFXZgDL/rrIPiQUdH52wiOJ2CXauen9 lRRKazFQ==; Received: from [192.168.2.1] (port=37116 helo=localhost) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1pwWz2-000KGA-1R; Wed, 10 May 2023 00:43:05 +0100 From: Arun Isaac To: Maxim Cournoyer , 63378@debbugs.gnu.org Subject: Re: bug#63378: A single X-Debbugs-CC header must be used In-Reply-To: <87y1lxsk8c.fsf_-_@gmail.com> References: <875y92vj2j.fsf@gmail.com> <3e14e27ad26ce9dee230733c7e77935b5f43599d.1683570582.git.maxim.cournoyer@gmail.com> <87y1lxsk8c.fsf_-_@gmail.com> Date: Wed, 10 May 2023 00:43:00 +0100 Message-ID: <87mt2d6ph7.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 63378 Cc: rekado@elephly.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > Now, I don't think the GNU Debbugs instance is kept up-to-date with > Debbugs upstream, having its own set of changes, so I think the patch > here should still be applied in the meantime. I agree. And, even otherwise, it is nice for X-Debbugs-Cc to mirror the Cc header and use a comma-separated list. So, I'm all in favour of this patch. Specific comments about the patch itself follow in a separate email. I will work on a similar patch for `mumi send-email' and send it sometime later this week. As discussed earlier, I will make `mumi send-email' invoke `git config sendemail.headerCmd' to find out about etc/teams.scm. From debbugs-submit-bounces@debbugs.gnu.org Tue May 09 19:56:08 2023 Received: (at 63378) by debbugs.gnu.org; 9 May 2023 23:56:08 +0000 Received: from localhost ([127.0.0.1]:44752 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwXBg-0004Ja-06 for submit@debbugs.gnu.org; Tue, 09 May 2023 19:56:08 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:45608) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwXBd-0004JP-0C for 63378@debbugs.gnu.org; Tue, 09 May 2023 19:56:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=rD26R280Qst1C7wILQcOXDFLUS/AyC3LTMp6Ioi9yes=; b=NLKb/fuY+lhp95Y3zFB/jt6cCd V6r0lFhyxqjaK9VWQVWXce68yXzo9az48FTm7NmOSzYR7T2HJchz1JEq3YbWvP1gHh+OMOcTavoNe 4oJQgD5qGif5uryFGyYEEUMPDiGKGTgoSRyTebBcp+/zwUBFDU2sOJQJRrof/4G1XviZ4X+HG6fCx GqhSuJOrZWgoAGD34mHVMLgSawtg7sbXWvyDguqR0uzGFP25JLHRa3PIvECIK/mWnPdDxSqZEW4H/ bx48Tjyh9BhJ7Swp6v5FaziDmo3atbZGrbkb+3aUKjQVwjxEtVEKH7aX4wy5si/5BqmaaOICcspg+ juv5JGLg==; Received: from [192.168.2.1] (port=38542 helo=localhost) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1pwXBV-000KH3-2Z; Wed, 10 May 2023 00:55:58 +0100 From: Arun Isaac To: Maxim Cournoyer , 63378@debbugs.gnu.org Subject: Re: bug#63378: [PATCH] teams: Fix script to produce a single X-Debbugs-Cc header. In-Reply-To: <3e14e27ad26ce9dee230733c7e77935b5f43599d.1683570582.git.maxim.cournoyer@gmail.com> References: <875y92vj2j.fsf@gmail.com> <3e14e27ad26ce9dee230733c7e77935b5f43599d.1683570582.git.maxim.cournoyer@gmail.com> Date: Wed, 10 May 2023 00:55:45 +0100 Message-ID: <87jzxh6ovy.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 63378 Cc: rekado@elephly.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Maxim, When a patch relates to no teams, I get the empty header output "X-Debbugs-Cc: ". For such patches, it would be nicer to not add any header instead of adding an empty header. > +(define (team->members team) > + "Return the list of members in TEAM." > + (sort (team-members team) > + (lambda (m1 m2) > + (string + > +(define (member->string member) > + "Return the 'email ' string representation of MEMBER." > + (format #false "~a <~a>" (person-name member) (person-email > member))) When person name contains a comma, it should be escaped by surrounding in double quotes. Else, the comma would interfere with the comma-separated list that we are constructing for X-Debbugs-Cc. Admittedly, none of our current team members have commas in their person names. But, some people like to have a name like "LastName, FirstName". We should protect against that edge case in the interest of futureproofing. > + (format #true "X-Debbugs-Cc: ~{~a~^,~}" > + (append-map (compose (cut map member->string <>) > + team->members > + find-team) > + (patch->teams patch-file)))) A very nitpicky suggestion: Maybe, separate multiple persons by ", " instead of just ",". ", " looks slightly better cosmetically. Likewise in other places where this occurs. Thanks for all the hard work! :-) Regards, Arun From debbugs-submit-bounces@debbugs.gnu.org Tue May 09 21:15:31 2023 Received: (at 63378) by debbugs.gnu.org; 10 May 2023 01:15:31 +0000 Received: from localhost ([127.0.0.1]:44850 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwYQV-00084D-4O for submit@debbugs.gnu.org; Tue, 09 May 2023 21:15:31 -0400 Received: from mail-qv1-f48.google.com ([209.85.219.48]:46096) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwYQS-0007hV-5r for 63378@debbugs.gnu.org; Tue, 09 May 2023 21:15:30 -0400 Received: by mail-qv1-f48.google.com with SMTP id 6a1803df08f44-619bebafb65so33012256d6.0 for <63378@debbugs.gnu.org>; Tue, 09 May 2023 18:15:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683681322; x=1686273322; 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=mbiF7Huq4WEjwHBUujZ7hXuWY04Rsu8y6ilVVgA4GcE=; b=JyEbv8Khp8yewmVGMPWfRquwg0SeQ18gZGnBpF+F5Y8Axa24HWmH41NFj/+3P7xJ76 tUfpeSIJcOrS1lCNemAwpYovS9R6ByAFtfJvgDusnEZOXAHutm5tprZbT/WIC8pZAD5U bTO7q1NGS6EjDIzCe7YP/xe5jC0lEvQtCZYWn901UCRcoi4gRnCXzxfqoc0gVqnk/0zS ZYFbHOKMJyNe5GusDupLsfsgUIaAg2XLX0ZCNU5U9pTvadEd+QIpVdgaKrXeUkI+3bIf G8RTARvvwfleRThZMAbmd3ZLns7s3o0EaY2S91V5dxOM6kYgGh8Qmci4vsXXqXil8GMM IxqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683681322; x=1686273322; 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=mbiF7Huq4WEjwHBUujZ7hXuWY04Rsu8y6ilVVgA4GcE=; b=eLR2ewLnzIzHKBhG2XHsrtEf+nDXfwy/MDfoTC5nciUDevWtOF/fn+WMcU5Idd7ajz EekakdKa+d4EPysTHJBKT25+GxZu2CsAfd5xJkZj2i+KBCXhWGgyBhkyE7P3QPvBNnmg zuBvRkoeE823l/f9cxmlu2fHJYY+Bc6yvokbk/xNMtxoxl/sAh/D6nGUThQvjKoRkOcz DawRrFS8v5QewbJNonyHuFC+Wooyijo4jpz+UHaroXtgYrkwr2VPpV//YGyw3U1mueYo tPkoPEQY9Eq30vcKLtj9gi1FC1g6ZJ28knLuQmhTyvUUNke4tfpl99a5CulT3nPDHB3f 956A== X-Gm-Message-State: AC+VfDyB6h7unVj6Nkn88Ia32ATvR8DQ655UYYuhHdB68zg7JTS0MjLZ cmQQLZhrfuHtlVZGPT5Cf44T72Y9zeg= X-Google-Smtp-Source: ACHHUZ5DKp3EpWLzTByVLMAn3edg8JRYmXDC5qKS58bMqzNynRjnMGyPNg0YfQdO6naOSxcTF4/trg== X-Received: by 2002:ad4:5f48:0:b0:621:1a4c:759b with SMTP id p8-20020ad45f48000000b006211a4c759bmr16881715qvg.36.1683681322640; Tue, 09 May 2023 18:15:22 -0700 (PDT) Received: from hurd (dsl-156-94.b2b2c.ca. [66.158.156.94]) by smtp.gmail.com with ESMTPSA id b26-20020a05620a127a00b0074e06a2d850sm3540213qkl.136.2023.05.09.18.15.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 May 2023 18:15:22 -0700 (PDT) From: Maxim Cournoyer To: Arun Isaac Subject: Re: bug#63378: A single X-Debbugs-CC header must be used References: <875y92vj2j.fsf@gmail.com> <3e14e27ad26ce9dee230733c7e77935b5f43599d.1683570582.git.maxim.cournoyer@gmail.com> <87y1lxsk8c.fsf_-_@gmail.com> <87mt2d6ph7.fsf@systemreboot.net> Date: Tue, 09 May 2023 21:15:21 -0400 In-Reply-To: <87mt2d6ph7.fsf@systemreboot.net> (Arun Isaac's message of "Wed, 10 May 2023 00:43:00 +0100") Message-ID: <87fs85rnpy.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 63378 Cc: rekado@elephly.net, 63378@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Arun, Arun Isaac writes: >> Now, I don't think the GNU Debbugs instance is kept up-to-date with >> Debbugs upstream, having its own set of changes, so I think the patch >> here should still be applied in the meantime. > > I agree. And, even otherwise, it is nice for X-Debbugs-Cc to mirror the > Cc header and use a comma-separated list. So, I'm all in favour of this > patch. Specific comments about the patch itself follow in a separate > email. > > I will work on a similar patch for `mumi send-email' and send it > sometime later this week. As discussed earlier, I will make `mumi > send-email' invoke `git config sendemail.headerCmd' to find out about > etc/teams.scm. Sounds good, and thanks for your efforts pushing toward better teams tooling! I'll now address your comments. -- Thanks, Maxim From debbugs-submit-bounces@debbugs.gnu.org Tue May 09 22:55:16 2023 Received: (at 63378) by debbugs.gnu.org; 10 May 2023 02:55:17 +0000 Received: from localhost ([127.0.0.1]:44931 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwZz2-0003eO-Fv for submit@debbugs.gnu.org; Tue, 09 May 2023 22:55:16 -0400 Received: from mail-qt1-f178.google.com ([209.85.160.178]:44429) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwZyz-0003dO-2L for 63378@debbugs.gnu.org; Tue, 09 May 2023 22:55:15 -0400 Received: by mail-qt1-f178.google.com with SMTP id d75a77b69052e-3ef59098519so31671741cf.1 for <63378@debbugs.gnu.org>; Tue, 09 May 2023 19:55:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683687307; x=1686279307; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Zp77knkz1XZwBVSxQbZAeDt1Vyp5D7znq1RuOSpnbZ8=; b=fyirFnjzgry9EfoxKEMX+exvSwC3SwQQ9Mj9YnMjnmQubRpHjOl/WILy9GGSsM45u0 5rNO16RkLr6vOO5mUGAUsPWO9/pm4CTNBEWftXO5hVIexgRH/a4z27eS7ssB/cxFwqYN g8qkf7acHC+7AQF9fnUBxYbwk0w8Fvv7ZL9eSlF5HXLThxEpz/SUMYuav4zaPdTmz9WW Q6OIJ9B8DASvGuBmIdZ0NPwUA92qmaSeFD32jWvrmxghm033LzwqxYyO6IL3CAxaHDh+ JP6EOR00Gk8E8ujIobdGimOV43EPVrtGRWQNdmH3UxUZ6DEdywbwe3Ow7ZJAJl/PmLJ4 KVNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683687307; x=1686279307; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Zp77knkz1XZwBVSxQbZAeDt1Vyp5D7znq1RuOSpnbZ8=; b=Q4MMKpzkLgIyAZrtKoPQPiE0cpuZcmtKvt7hwXjmvjGjzHp7ey7a2jWWV6KYa6auZp kgFwhw2ZrnquzmciBNl4ZxMkGGWCoFpOpQueBti8vIvBD1C6CIQj2jMB+J5K+XxATZkA j8a3aBbHSHUQjxxl4nubvJbFvnBAsBRiriz198FC7nex3xoRgE3hhy1OMlVme9cs16Qj 2+JqgdD6oHEJcetDGzHflIb+zRh/MQ/BadE6kDh33jQWIyj1jVOoaWNS9+ERvER1Uln/ tJxyhhRMRLH4uKQXJ/pQmxOkRnprVyZZrk7zFiU1EtZd+BKJE/8MgsAV6gu/AQ2+Qnqm 2S3Q== X-Gm-Message-State: AC+VfDxtUgp4u0ADw477ylxC0ncfpV4mui2SzTgUsD3pDPlekDk9GitF cpGw+0niN7Y8IIfwcP1qPo1GwdiTaCc= X-Google-Smtp-Source: ACHHUZ6HDjurBCmmgAx7Ty4is8GVKFFutYc2Ek8RSF0igg5nfedvRjaVyiCKMF4rEwwK4MP6PeP61Q== X-Received: by 2002:a05:622a:3cc:b0:3eb:13e5:7bd9 with SMTP id k12-20020a05622a03cc00b003eb13e57bd9mr24834270qtx.27.1683687306941; Tue, 09 May 2023 19:55:06 -0700 (PDT) Received: from localhost.localdomain (dsl-156-94.b2b2c.ca. [66.158.156.94]) by smtp.gmail.com with ESMTPSA id cp8-20020a05622a420800b003ef13aa5b0bsm1011113qtb.82.2023.05.09.19.55.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 May 2023 19:55:06 -0700 (PDT) From: Maxim Cournoyer To: 63378@debbugs.gnu.org Subject: [PATCH v2] teams: Fix script to produce a single X-Debbugs-Cc header. Date: Tue, 9 May 2023 22:55:02 -0400 Message-Id: <21d6e09603863ff5add037ad459131198c699dd6.1683687260.git.maxim.cournoyer@gmail.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-Debbugs-Cc: rekado@elephly.net, arunisaac@systemreboot.net Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 63378 Cc: Maxim Cournoyer X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Fixes . * etc/teams.scm.in (cc): Adjust format pattern. (sort-members, member->string): New procedures. (list-members): Refactor in terms of the above procedures. (main): Adjust the output of the 'cc-members-header-cmd' and 'cc-mentors-header-cmd' actions. --- etc/teams.scm.in | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/etc/teams.scm.in b/etc/teams.scm.in index d21f1ff67b..d81ce984f6 100644 --- a/etc/teams.scm.in +++ b/etc/teams.scm.in @@ -605,24 +605,28 @@ (define (find-team-by-scope files) (define (cc . teams) "Return arguments for `git send-email' to notify the members of the given TEAMS when a patch is received by Debbugs." - (format #true - "~{--add-header=\"X-Debbugs-Cc: ~a\"~^ ~}" - (map person-email - (delete-duplicates (append-map team-members teams) equal?)))) + (let ((members (append-map team-members teams))) + (unless (null? members) + (format #true "--add-header=\"X-Debbugs-Cc: ~{~a~^, ~}\"" + (map person-email (sort-members members)))))) + +(define (sort-members members) + "Deduplicate and sort MEMBERS alphabetically by their name." + (sort (delete-duplicates members equal?) + (lambda (m1 m2) + (stringstring member) + "Return the 'email ' string representation of MEMBER." + (format #false "\"~a\" <~a>" (person-name member) (person-email member))) (define* (list-members team #:optional port (prefix "")) "Print the members of the given TEAM." (define port* (or port (current-output-port))) (for-each (lambda (member) - (format port* - "~a~a <~a>~%" - prefix - (person-name member) - (person-email member))) - (sort - (team-members team) - (lambda (m1 m2) (stringstring member))) + (sort-members (team-members team)))) (define (list-teams) "Print all teams, their scope and their members." @@ -716,13 +720,15 @@ (define (main . args) (apply cc (find-team-by-scope (diff-revisions rev-start rev-end)))) (("cc-members-header-cmd" patch-file) - (for-each (lambda (team-name) - (list-members (find-team team-name) (current-output-port) - "X-Debbugs-Cc: ")) - (patch->teams patch-file))) + (let* ((teams (map find-team (patch->teams patch-file))) + (members (sort-members (append-map team-members teams)))) + (unless (null? members) + (format #true "X-Debbugs-Cc: ~{~a~^, ~}" + (map member->string members))))) (("cc-mentors-header-cmd" patch-file) - (list-members (find-team "mentors") (current-output-port) - "X-Debbugs-Cc: ")) + (format #true "X-Debbugs-Cc: ~{~a~^, ~}" + (map member->string + (sort-members (team-members (find-team "mentors")))))) (("get-maintainer" patch-file) (apply main "list-members" (patch->teams patch-file))) (("list-teams" . args) base-commit: 8f92dfd9ae7ac491ab7fb4b425799a8c909708a8 -- 2.39.2 From debbugs-submit-bounces@debbugs.gnu.org Wed May 10 12:15:27 2023 Received: (at 63378) by debbugs.gnu.org; 10 May 2023 16:15:27 +0000 Received: from localhost ([127.0.0.1]:48801 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwmTO-0002iZ-V3 for submit@debbugs.gnu.org; Wed, 10 May 2023 12:15:27 -0400 Received: from mail-qt1-f170.google.com ([209.85.160.170]:55712) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwmTK-0002iF-PU for 63378@debbugs.gnu.org; Wed, 10 May 2023 12:15:26 -0400 Received: by mail-qt1-f170.google.com with SMTP id d75a77b69052e-3f3faefc92cso10070121cf.3 for <63378@debbugs.gnu.org>; Wed, 10 May 2023 09:15:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683735317; x=1686327317; 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=qwJ5iIUYSkIObvKxejnLsl58C6WAvwbk+ZNPBx1ywWo=; b=VyO5+UNM4o+Wn8Q7ZM5Oev5tLabgPbej+cHvdYtvpvgLeUhqwjq2l37pfwqYGsWvQX IDhvlG7WSWDnFq03O2GWhsHfvHqlsuxV0Uefrlm3kgYWksYy+2CjAGxcyhjrugnCZfOp cSUXd+4krqB7ZlhcOoHG8viWaMLkaesB5OFiY3F3fVkv4wmfCWmH+9OrCCjt1s1qnd/N +RW3/5tkVrgErdY1ESLWIoJL5HB8L5WLxY3mpLphodxJ5l2pq3+MmGNErO/q5ylvp5u2 UAAnTrCQzNQyVQExAySR4nl/RaRTsK8bYmcVJeJI4CzxFyjmedsU2Fl0FDvcVAi7F5GK zkQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683735317; x=1686327317; 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=qwJ5iIUYSkIObvKxejnLsl58C6WAvwbk+ZNPBx1ywWo=; b=ADrCZqOZmzQs85ZI04paDzqrhBq0lxWpnUTDGi/Aoj5y16rIQc2NLfEji4CvRqR873 4Tr/SgHaaXH/ubua/QbNcTABXjTvdQjGG5EqcxTw1d3oUOBExXW5ho1Mr3VY+0C/e5cR 0v758qAPWHbYSYe0Ij5mjrrvH/FPkUaSDkF81lubbMiMPjlowYEJw4etIIuNVHkgDG/+ imhuOTwoPBmscaCCMAAr9kcFDENjqAmJ8n+ZXqkF6XWo0KytTCw9QWDesBJfZCO05XNZ 7kfPuowNY6ODUIDipUq3yjuULG3yJnk4rG8F8NdLi/HXBFYCc6MNAyCTD8Ysv+XuIx+U epNw== X-Gm-Message-State: AC+VfDyyb1CCvbXAZ1NKHSypI/sd0S0B24yWMpKon/bU/wNfpnpcGMb1 rlF1H91leHL9hA3vj0BW3KVebHQmqWMAZA== X-Google-Smtp-Source: ACHHUZ60mnnDB4sO/GLasP+bck95e/dJ+wSEL3V+GJqF6diJEU1LZkRNOHkhsTJvnbcREy/8tzavxg== X-Received: by 2002:a05:622a:11c9:b0:3f0:a300:a471 with SMTP id n9-20020a05622a11c900b003f0a300a471mr27369427qtk.55.1683735317151; Wed, 10 May 2023 09:15:17 -0700 (PDT) Received: from hurd (dsl-156-94.b2b2c.ca. [66.158.156.94]) by smtp.gmail.com with ESMTPSA id x1-20020a05620a01e100b0074b5219b63esm1036623qkn.121.2023.05.10.09.15.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 May 2023 09:15:16 -0700 (PDT) From: Maxim Cournoyer To: Arun Isaac Subject: Re: bug#63378: [PATCH] teams: Fix script to produce a single X-Debbugs-Cc header. References: <875y92vj2j.fsf@gmail.com> <3e14e27ad26ce9dee230733c7e77935b5f43599d.1683570582.git.maxim.cournoyer@gmail.com> <87jzxh6ovy.fsf@systemreboot.net> Date: Wed, 10 May 2023 12:15:15 -0400 In-Reply-To: <87jzxh6ovy.fsf@systemreboot.net> (Arun Isaac's message of "Wed, 10 May 2023 00:55:45 +0100") Message-ID: <87bkisqi24.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 63378 Cc: rekado@elephly.net, 63378@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Arun, Arun Isaac writes: > Hi Maxim, > > When a patch relates to no teams, I get the empty header output > "X-Debbugs-Cc: ". For such patches, it would be nicer to not add any > header instead of adding an empty header. Good catch! Fixed. >> +(define (team->members team) >> + "Return the list of members in TEAM." >> + (sort (team-members team) >> + (lambda (m1 m2) >> + (string> + >> +(define (member->string member) >> + "Return the 'email ' string representation of MEMBER." >> + (format #false "~a <~a>" (person-name member) (person-email >> member))) > > When person name contains a comma, it should be escaped by surrounding > in double quotes. Else, the comma would interfere with the > comma-separated list that we are constructing for > X-Debbugs-Cc. Admittedly, none of our current team members have commas > in their person names. But, some people like to have a name like > "LastName, FirstName". We should protect against that edge case in the > interest of futureproofing. OK! I opted for simplicity and double-quoted all the names. >> + (format #true "X-Debbugs-Cc: ~{~a~^,~}" >> + (append-map (compose (cut map member->string <>) >> + team->members >> + find-team) >> + (patch->teams patch-file)))) > > A very nitpicky suggestion: Maybe, separate multiple persons by ", " > instead of just ",". ", " looks slightly better cosmetically. Likewise > in other places where this occurs. Good idea; I've learnt this was valid email syntax just today :-). Below is the diff of my rework: --8<---------------cut here---------------start------------->8--- 1 file changed, 18 insertions(+), 17 deletions(-) etc/teams.scm.in | 35 ++++++++++++++++++----------------- modified etc/teams.scm.in @@ -605,20 +605,20 @@ (define (find-team-by-scope files) (define (cc . teams) "Return arguments for `git send-email' to notify the members of the given TEAMS when a patch is received by Debbugs." - (format #true - "--add-header=\"X-Debbugs-Cc: ~{~a~^,~}\"" - (map person-email - (delete-duplicates (append-map team-members teams) equal?)))) - -(define (team->members team) - "Return the list of members in TEAM." - (sort (team-members team) + (let ((members (append-map team-members teams))) + (unless (null? members) + (format #true "--add-header=\"X-Debbugs-Cc: ~{~a~^, ~}\"" + (map person-email (sort-members members)))))) + +(define (sort-members members) + "Deduplicate and sort MEMBERS alphabetically by their name." + (sort (delete-duplicates members equal?) (lambda (m1 m2) (stringstring member) "Return the 'email ' string representation of MEMBER." - (format #false "~a <~a>" (person-name member) (person-email member))) + (format #false "\"~a\" <~a>" (person-name member) (person-email member))) (define* (list-members team #:optional port (prefix "")) "Print the members of the given TEAM." @@ -626,7 +626,7 @@ (define* (list-members team #:optional port (prefix "")) (for-each (lambda (member) (format port* "~a~a~%" prefix (member->string member))) - (team->members team))) + (sort-members (team-members team)))) (define (list-teams) "Print all teams, their scope and their members." @@ -720,14 +720,15 @@ (define (main . args) (apply cc (find-team-by-scope (diff-revisions rev-start rev-end)))) (("cc-members-header-cmd" patch-file) - (format #true "X-Debbugs-Cc: ~{~a~^,~}" - (append-map (compose (cut map member->string <>) - team->members - find-team) - (patch->teams patch-file)))) + (let* ((teams (map find-team (patch->teams patch-file))) + (members (sort-members (append-map team-members teams)))) + (unless (null? members) + (format #true "X-Debbugs-Cc: ~{~a~^, ~}" + (map member->string members))))) (("cc-mentors-header-cmd" patch-file) - (format #true "X-Debbugs-Cc: ~{~a~^,~}" - (map member->string (team->members (find-team "mentors"))))) + (format #true "X-Debbugs-Cc: ~{~a~^, ~}" + (map member->string + (sort-members (team-members (find-team "mentors")))))) (("get-maintainer" patch-file) (apply main "list-members" (patch->teams patch-file))) (("list-teams" . args) --8<---------------cut here---------------end--------------->8--- A proper v2 patch has been sent. -- Thanks, Maxim From debbugs-submit-bounces@debbugs.gnu.org Thu May 11 07:13:45 2023 Received: (at 63378) by debbugs.gnu.org; 11 May 2023 11:13:45 +0000 Received: from localhost ([127.0.0.1]:49861 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1px4Ey-0007iA-QX for submit@debbugs.gnu.org; Thu, 11 May 2023 07:13:45 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:34776) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1px4Ev-0007hz-Gq for 63378@debbugs.gnu.org; Thu, 11 May 2023 07:13:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=Ldi3d382CUakBMInHOPARhrCzFM4GwR6NmhSMukaLK4=; b=D6S+q+v7QVyPOsRSpbt0z9M35B zrVglY7483Fc6B4M9xkwFJNChfpE72ungQyO2LReQVcrqSW+Q6YK25rsupAS92+p50Vx1Vxw2HVzE rMN5uoPM97ScervGMV4uGT1lzXvpaGl6oJWlAR31HeoNe/GU4iy7eT8H9qJt3DO0pgPW8DpiqXYME W2k6ng8cKXsdA4MJMzE8DWl/OvRDZeBV/XvPp6+ZYYR5halxjTe5iR1qjpzZyY+gYUxn7dLXIPx0X 99vMvov9IeW8M3g3sVaQ+DIW7V0i9g8qTg9zoEGy/q40T7jzMXZQYCcsmBUZEPk3LTWnvhGdiNxET H3xSiaPg==; Received: from [192.168.2.1] (port=53292 helo=localhost) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1px4El-000OV8-1T; Thu, 11 May 2023 12:13:32 +0100 From: Arun Isaac To: Maxim Cournoyer Subject: Re: bug#63378: [PATCH] teams: Fix script to produce a single X-Debbugs-Cc header. In-Reply-To: <87bkisqi24.fsf@gmail.com> References: <875y92vj2j.fsf@gmail.com> <3e14e27ad26ce9dee230733c7e77935b5f43599d.1683570582.git.maxim.cournoyer@gmail.com> <87jzxh6ovy.fsf@systemreboot.net> <87bkisqi24.fsf@gmail.com> Date: Thu, 11 May 2023 12:13:27 +0100 Message-ID: <87zg6b5dew.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 63378 Cc: rekado@elephly.net, 63378@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Maxim, Thank you for the updated patch! :-) It LGTM. Please push. > OK! I opted for simplicity and double-quoted all the names. Fair enough. Though a check is only one condition away! ;-) (if (string-contains? (person-name member) ",") (string-append "\"" (person-name member) "\"") (person-name member)) Regards, Arun From debbugs-submit-bounces@debbugs.gnu.org Thu May 11 09:18:55 2023 Received: (at 63378-done) by debbugs.gnu.org; 11 May 2023 13:18:56 +0000 Received: from localhost ([127.0.0.1]:50041 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1px6C7-0007w8-Ik for submit@debbugs.gnu.org; Thu, 11 May 2023 09:18:55 -0400 Received: from mail-qk1-f177.google.com ([209.85.222.177]:52653) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1px6C6-0007vu-9l for 63378-done@debbugs.gnu.org; Thu, 11 May 2023 09:18:54 -0400 Received: by mail-qk1-f177.google.com with SMTP id af79cd13be357-75773ff9830so266562385a.1 for <63378-done@debbugs.gnu.org>; Thu, 11 May 2023 06:18:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683811128; x=1686403128; 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=OCwLU1tfSWzQK3msEsfuENY2n16RZ7xnW1nLE0qsynk=; b=DXSV+oEP3BD1ddFcYj9be134Gbq8y/KwCcMM1ywAzrSLpyGxV2CtMRf2pEiaoxEe2e GQhojbqQyxKn68+plYJL2cAVPLUaJsH0cmyHe59HIFzxcpsjyfQ2ErL3/k6L4XsQJOGM /slAXYB305pEahMXDqFCTMfphV4pYskGkLM3tLgYK0u/mCvFCADY5Rjkw4AlJMVgyiWd ZmFocmZH7MMm3jytcex5YNaNAUsvpnW/8lSYg6DCY0BrcxkokhwnH71vQq1ebj3Mp521 3mjA1y96MXam2m36/h6s399fklmi3D84P01IcM1NA1vH6INoUv1dbFCsymejBinWgZoa h24Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683811128; x=1686403128; 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=OCwLU1tfSWzQK3msEsfuENY2n16RZ7xnW1nLE0qsynk=; b=NXrIfZhpiivRVrP2unC6oLZx8M6yrQV1FI8E3piy7N+raDUSkmlS/hCLop7qNyMnVP YBhK9wniOYjE6UrP+hVZnqqJaHpZ+Iub9OncFKHCnaa0feYFz/bKb1BKP4G8xKojDvvL rPg5hDn8tZif9qBXMRMzd1lByOoNWqCYGfcPE+JsRv2Ly0wgq7BYMSyyZjuFpW6IH//p MiaGYDlOj6o+wRtMmMinY7rPGP3o+bhpdk50wIucbEVlzG77iFSzejISuF4gyqHZSBAe CpYllpLH5R7TjYOGL2/0h23cc4Jb8ke0VFxT1uXMsKRWzxQN5qI1lwokC3oLBPRqmdfd QFRQ== X-Gm-Message-State: AC+VfDxLypsxIdbc3TftN4RhbApT+GmeRJCcYSu65WuhsH04f278dwOl m0AidPsQG07CU3+jBGlWuMFa7LU9CcI= X-Google-Smtp-Source: ACHHUZ6rDA1DDSrlGjdbSez2ZeMjkWHPKpFIJlQN+b7LR3sHuED15PBAqvP9x39YmaVxuKSqWRg66w== X-Received: by 2002:ad4:5ecf:0:b0:5f1:31eb:1eff with SMTP id jm15-20020ad45ecf000000b005f131eb1effmr32501695qvb.2.1683811128202; Thu, 11 May 2023 06:18:48 -0700 (PDT) Received: from hurd (dsl-155-1.b2b2c.ca. [66.158.155.1]) by smtp.gmail.com with ESMTPSA id ph1-20020a0562144a4100b005ed90bf69efsm2268635qvb.114.2023.05.11.06.18.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 May 2023 06:18:47 -0700 (PDT) From: Maxim Cournoyer To: Arun Isaac Subject: Re: bug#63378: [PATCH] teams: Fix script to produce a single X-Debbugs-Cc header. References: <875y92vj2j.fsf@gmail.com> <3e14e27ad26ce9dee230733c7e77935b5f43599d.1683570582.git.maxim.cournoyer@gmail.com> <87jzxh6ovy.fsf@systemreboot.net> <87bkisqi24.fsf@gmail.com> <87zg6b5dew.fsf@systemreboot.net> Date: Thu, 11 May 2023 09:18:46 -0400 In-Reply-To: <87zg6b5dew.fsf@systemreboot.net> (Arun Isaac's message of "Thu, 11 May 2023 12:13:27 +0100") Message-ID: <87y1lvngzt.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 63378-done Cc: rekado@elephly.net, 63378-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Arun, Arun Isaac writes: > Hi Maxim, > > Thank you for the updated patch! :-) It LGTM. Please push. > >> OK! I opted for simplicity and double-quoted all the names. > > Fair enough. Though a check is only one condition away! ;-) > > (if (string-contains? (person-name member) ",") > (string-append "\"" (person-name member) "\"") > (person-name member)) It's string-contains without ?, apparently. Let's try this (and save a few bytes per submission :-)): --8<---------------cut here---------------start------------->8--- modified etc/teams.scm.in @@ -618,7 +618,11 @@ (define (sort-members members) (define (member->string member) "Return the 'email ' string representation of MEMBER." - (format #false "\"~a\" <~a>" (person-name member) (person-email member))) + (let* ((name (person-name member)) + (quoted-name/maybe (if (string-contains name ",") + (string-append "\"" name "\"") + name))) + (format #false "~a <~a>" quoted-name/maybe (person-email member)))) (define* (list-members team #:optional port (prefix "")) "Print the members of the given TEAM." --8<---------------cut here---------------end--------------->8--- The change is now installed; thanks for the review! -- Thanks, Maxim From debbugs-submit-bounces@debbugs.gnu.org Thu May 11 19:59:22 2023 Received: (at 63378-done) by debbugs.gnu.org; 11 May 2023 23:59:22 +0000 Received: from localhost ([127.0.0.1]:53647 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pxGBu-0004iW-0Z for submit@debbugs.gnu.org; Thu, 11 May 2023 19:59:22 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:37456) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pxGBq-0004iL-QO for 63378-done@debbugs.gnu.org; Thu, 11 May 2023 19:59:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=8DfwTYo50SbCLGQXNPce6WBIf9lLulA3ZBKyWdwUAtE=; b=inFTGL83ZiEi5Z8hvNlpOi3/7a +vlIdmYwJgLuFuv8HM1KquLUdORqEmX6x06mnM1szZQJ+iY5G+0Cu1cOoc2CKrlI2BsrqkNsVtt9u 7woUgru4pHt8m8xLKim6N3C6gDxU9h/fO2OUBUd1JkBigtCjKie/pDLsOyAGGh6aLWGVMpUKakVik HmEP0sjJRyAGKQuSyWoxg2cTXaeNG9Yx8DkwfnNpwamG5tT7rMwcJOGCMYZCxVlirxDp9GBEd4bra F+gUaVENVdcMkUNc8Chz2oY9teA/GdIjQDE53JK17Q+vZll8Ew2jQhhvMQjdZieCbW0t/wFVl0e7w IqI2oixA==; Received: from [192.168.2.1] (port=45138 helo=localhost) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1pxGBj-000QGa-2j; Fri, 12 May 2023 00:59:12 +0100 From: Arun Isaac To: Maxim Cournoyer Subject: Re: bug#63378: [PATCH] teams: Fix script to produce a single X-Debbugs-Cc header. In-Reply-To: <87y1lvngzt.fsf@gmail.com> References: <875y92vj2j.fsf@gmail.com> <3e14e27ad26ce9dee230733c7e77935b5f43599d.1683570582.git.maxim.cournoyer@gmail.com> <87jzxh6ovy.fsf@systemreboot.net> <87bkisqi24.fsf@gmail.com> <87zg6b5dew.fsf@systemreboot.net> <87y1lvngzt.fsf@gmail.com> Date: Fri, 12 May 2023 00:59:00 +0100 Message-ID: <87o7mq5sjf.fsf@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 63378-done Cc: rekado@elephly.net, 63378-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > It's string-contains without ?, apparently. Ah, yes. That one always trips me up. > The change is now installed; thanks for the review! Thank you! :-) From unknown Fri Sep 05 20:55:32 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 09 Jun 2023 11:24:12 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator