Package: mumi;
Reported by: Arun Isaac <arunisaac <at> systemreboot.net>
Date: Tue, 30 May 2023 12:13:01 UTC
Severity: normal
Tags: patch
Done: Arun Isaac <arunisaac <at> systemreboot.net>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: Arun Isaac <arunisaac <at> systemreboot.net> Cc: 63802 <at> debbugs.gnu.org Subject: [bug#63802] [mumi PATCH 3/3] client: Use mumi git-send-email-headers subcommand. Date: Sun, 04 Jun 2023 22:36:15 -0400
Hi Arun, Arun Isaac <arunisaac <at> systemreboot.net> writes: > * mumi/client.scm (send-email): Accept mumi-arg0 argument and > use it to construct --header-cmd. > * scripts/mumi.in: Pass arg0 to send-email. > * tests/client.scm ("send patches to new issue", "send patches to > existing issue", "send single patch to new issue", "send single patch > to existing issue", "send patch to existing issue and Cc other > participants"): Adjust tests. > --- > mumi/client.scm | 9 ++++++--- > scripts/mumi.in | 2 +- > tests/client.scm | 17 ++++++++++++++--- > 3 files changed, 21 insertions(+), 7 deletions(-) > > diff --git a/mumi/client.scm b/mumi/client.scm > index c70fe61..9cb2bd8 100644 > --- a/mumi/client.scm > +++ b/mumi/client.scm > @@ -281,8 +281,9 @@ ISSUE-NUMBER." > (() (list)) > (cc (list (cons 'cc (string-join cc ", ")))))))) > > -(define (send-email patches) > - "Send PATCHES via email." > +(define (send-email mumi-arg0 patches) > + "Send PATCHES via email. MUMI-ARG0 is the mumi program currently > +invoked." > (if (current-issue-number) > ;; If an issue is current, send patches to that issue's email > ;; address. > @@ -290,7 +291,9 @@ ISSUE-NUMBER." > (git-send-email (string-append (number->string issue-number) > "@" > (client-config 'debbugs-host)) > - patches)) > + patches > + (list (string-append "--header-cmd=" > + mumi-arg0 " git-send-email-headers")))) > (match patches > ;; If it's a single patch, send it to the patch email address > ;; and be done with it > diff --git a/scripts/mumi.in b/scripts/mumi.in > index 8fb7cd4..5b98634 100644 > --- a/scripts/mumi.in > +++ b/scripts/mumi.in > @@ -162,7 +162,7 @@ > (("new") > (client:clear-current-issue!)) > (("send-email" . patches) > - (client:send-email patches)) > + (client:send-email (car (program-arguments)) patches)) > (("git-send-email-headers" patch) > (client:git-send-email-headers patch)) > (("mailer" . rest) > diff --git a/tests/client.scm b/tests/client.scm > index 5352b08..fa80dad 100644 > --- a/tests/client.scm > +++ b/tests/client.scm > @@ -80,10 +80,13 @@ called with." > (const 12345)) > client-config-stub) > (cut (@@ (mumi client) send-email) > + "mumi" > (list "foo.patch" "bar.patch" "foobar.patch"))))))) > > (test-equal "send patches to existing issue" > - '(("git" "send-email" "--to=12345 <at> example.com" "foo.patch" "bar.patch" "foobar.patch")) > + '(("git" "send-email" "--to=12345 <at> example.com" > + "--header-cmd=mumi git-send-email-headers" > + "foo.patch" "bar.patch" "foobar.patch")) > (map (match-lambda > ((command _) command)) > (trace-calls (var@@ (mumi client) call-with-input-pipe*) > @@ -95,6 +98,7 @@ called with." > client-config-stub > do-not-poll-server-for-issue-number) > (cut (@@ (mumi client) send-email) > + "mumi" > (list "foo.patch" "bar.patch" "foobar.patch"))))))) > > (test-equal "send single patch to new issue" > @@ -108,10 +112,13 @@ called with." > client-config-stub > do-not-poll-server-for-issue-number) > (cut (@@ (mumi client) send-email) > + "mumi" > (list "foo.patch"))))))) > > (test-equal "send single patch to existing issue" > - '(("git" "send-email" "--to=12345 <at> example.com" "foo.patch")) > + '(("git" "send-email" "--to=12345 <at> example.com" > + "--header-cmd=mumi git-send-email-headers" > + "foo.patch")) > (map (match-lambda > ((command _) command)) > (trace-calls (var@@ (mumi client) call-with-input-pipe*) > @@ -123,10 +130,13 @@ called with." > client-config-stub > do-not-poll-server-for-issue-number) > (cut (@@ (mumi client) send-email) > + "mumi" > (list "foo.patch"))))))) > > (test-equal "send patch to existing issue and Cc other participants" > - '(("git" "send-email" "--to=12345 <at> example.com" "foo.patch")) > + '(("git" "send-email" "--to=12345 <at> example.com" > + "--header-cmd=mumi git-send-email-headers" > + "foo.patch")) > (map (match-lambda > ((command _) command)) > (trace-calls (var@@ (mumi client) call-with-input-pipe*) > @@ -138,6 +148,7 @@ called with." > client-config-stub > do-not-poll-server-for-issue-number) > (cut (@@ (mumi client) send-email) > + "mumi" > (list "foo.patch"))))))) > > (test-end "client") Fun! So mumi now implements its own git 'header command', which builds on top of any pre-configured one such as etc/teams.scm, then overrides said pre-configured headerCmd with itself. LGTM. -- Thanks, Maxim
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.