* [PATCH v10 0/2] Expose header information to git-send-email's sendemail-validate hook
@ 2023-04-19 20:27 Michael Strawbridge
2023-04-19 20:27 ` [PATCH v10 1/2] send-email: refactor header generation functions Michael Strawbridge
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Michael Strawbridge @ 2023-04-19 20:27 UTC (permalink / raw)
To: git; +Cc: michael.strawbridge
My appologies for taking a while to get back to this. Here is a reroll
with the latest suggestions from Luben.
Michael Strawbridge (2):
send-email: refactor header generation functions
send-email: expose header information to git-send-email's
sendemail-validate hook
Documentation/githooks.txt | 27 +++++++++--
git-send-email.perl | 97 +++++++++++++++++++++++---------------
t/t9001-send-email.sh | 27 ++++++++++-
3 files changed, 108 insertions(+), 43 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH v10 1/2] send-email: refactor header generation functions 2023-04-19 20:27 [PATCH v10 0/2] Expose header information to git-send-email's sendemail-validate hook Michael Strawbridge @ 2023-04-19 20:27 ` Michael Strawbridge 2023-04-19 20:27 ` [PATCH v10 2/2] send-email: expose header information to git-send-email's sendemail-validate hook Michael Strawbridge 2023-05-01 21:58 ` [PATCH v10 0/2] Expose " Junio C Hamano 2 siblings, 0 replies; 7+ messages in thread From: Michael Strawbridge @ 2023-04-19 20:27 UTC (permalink / raw) To: git Cc: michael.strawbridge, Luben Tuikov, Junio C Hamano, Ævar Arnfjörð Bjarmason Split process_file and send_message into easier to use functions. Making SMTP header information widely available. Cc: Luben Tuikov <luben.tuikov@amd.com> Cc: Junio C Hamano <gitster@pobox.com> Cc: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Acked-by: Luben Tuikov <luben.tuikov@amd.com> Signed-off-by: Michael Strawbridge <michael.strawbridge@amd.com> --- git-send-email.perl | 49 ++++++++++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/git-send-email.perl b/git-send-email.perl index 07f2a0cbea..0a44c0e5cb 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -1502,16 +1502,7 @@ sub file_name_is_absolute { return File::Spec::Functions::file_name_is_absolute($path); } -# Prepares the email, then asks the user what to do. -# -# If the user chooses to send the email, it's sent and 1 is returned. -# If the user chooses not to send the email, 0 is returned. -# If the user decides they want to make further edits, -1 is returned and the -# caller is expected to call send_message again after the edits are performed. -# -# If an error occurs sending the email, this just dies. - -sub send_message { +sub gen_header { my @recipients = unique_email_list(@to); @cc = (grep { my $cc = extract_valid_address_or_die($_); not grep { $cc eq $_ || $_ =~ /<\Q${cc}\E>$/ } @recipients @@ -1553,6 +1544,22 @@ sub send_message { if (@xh) { $header .= join("\n", @xh) . "\n"; } + my $recipients_ref = \@recipients; + return ($recipients_ref, $to, $date, $gitversion, $cc, $ccline, $header); +} + +# Prepares the email, then asks the user what to do. +# +# If the user chooses to send the email, it's sent and 1 is returned. +# If the user chooses not to send the email, 0 is returned. +# If the user decides they want to make further edits, -1 is returned and the +# caller is expected to call send_message again after the edits are performed. +# +# If an error occurs sending the email, this just dies. + +sub send_message { + my ($recipients_ref, $to, $date, $gitversion, $cc, $ccline, $header) = gen_header(); + my @recipients = @$recipients_ref; my @sendmail_parameters = ('-i', @recipients); my $raw_from = $sender; @@ -1742,11 +1749,8 @@ sub send_message { $references = $initial_in_reply_to || ''; $message_num = 0; -# Prepares the email, prompts the user, sends it out -# Returns 0 if an edit was done and the function should be called again, or 1 -# otherwise. -sub process_file { - my ($t) = @_; +sub pre_process_file { + my ($t, $quiet) = @_; open my $fh, "<", $t or die sprintf(__("can't open file %s"), $t); @@ -1900,9 +1904,9 @@ sub process_file { } close $fh; - push @to, recipients_cmd("to-cmd", "to", $to_cmd, $t) + push @to, recipients_cmd("to-cmd", "to", $to_cmd, $t, $quiet) if defined $to_cmd; - push @cc, recipients_cmd("cc-cmd", "cc", $cc_cmd, $t) + push @cc, recipients_cmd("cc-cmd", "cc", $cc_cmd, $t, $quiet) if defined $cc_cmd && !$suppress_cc{'cccmd'}; if ($broken_encoding{$t} && !$has_content_type) { @@ -1961,6 +1965,15 @@ sub process_file { @initial_to = @to; } } +} + +# Prepares the email, prompts the user, and sends it out +# Returns 0 if an edit was done and the function should be called again, or 1 +# on the email being successfully sent out. +sub process_file { + my ($t) = @_; + + pre_process_file($t, $quiet); my $message_was_sent = send_message(); if ($message_was_sent == -1) { @@ -2009,7 +2022,7 @@ sub process_file { # Execute a command (e.g. $to_cmd) to get a list of email addresses # and return a results array sub recipients_cmd { - my ($prefix, $what, $cmd, $file) = @_; + my ($prefix, $what, $cmd, $file, $quiet) = @_; my @addresses = (); open my $fh, "-|", "$cmd \Q$file\E" -- 2.34.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v10 2/2] send-email: expose header information to git-send-email's sendemail-validate hook 2023-04-19 20:27 [PATCH v10 0/2] Expose header information to git-send-email's sendemail-validate hook Michael Strawbridge 2023-04-19 20:27 ` [PATCH v10 1/2] send-email: refactor header generation functions Michael Strawbridge @ 2023-04-19 20:27 ` Michael Strawbridge 2023-04-21 5:27 ` Luben Tuikov 2023-05-01 21:58 ` [PATCH v10 0/2] Expose " Junio C Hamano 2 siblings, 1 reply; 7+ messages in thread From: Michael Strawbridge @ 2023-04-19 20:27 UTC (permalink / raw) To: git Cc: michael.strawbridge, Luben Tuikov, Junio C Hamano, Ævar Arnfjörð Bjarmason To allow further flexibility in the Git hook, the SMTP header information of the email which git-send-email intends to send, is now passed as the 2nd argument to the sendemail-validate hook. As an example, this can be useful for acting upon keywords in the subject or specific email addresses. Cc: Luben Tuikov <luben.tuikov@amd.com> Cc: Junio C Hamano <gitster@pobox.com> Cc: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Acked-by: Luben Tuikov <luben.tuikov@amd.com> Signed-off-by: Michael Strawbridge <michael.strawbridge@amd.com> --- Documentation/githooks.txt | 27 +++++++++++++++++---- git-send-email.perl | 48 +++++++++++++++++++++++--------------- t/t9001-send-email.sh | 27 +++++++++++++++++++-- 3 files changed, 77 insertions(+), 25 deletions(-) diff --git a/Documentation/githooks.txt b/Documentation/githooks.txt index 62908602e7..9896ffafaf 100644 --- a/Documentation/githooks.txt +++ b/Documentation/githooks.txt @@ -595,10 +595,29 @@ processed by rebase. sendemail-validate ~~~~~~~~~~~~~~~~~~ -This hook is invoked by linkgit:git-send-email[1]. It takes a single parameter, -the name of the file that holds the e-mail to be sent. Exiting with a -non-zero status causes `git send-email` to abort before sending any -e-mails. +This hook is invoked by linkgit:git-send-email[1]. + +It takes these command line arguments. They are, +1. the name of the file which holds the contents of the email to be sent. +2. The name of the file which holds the SMTP headers of the email. + +The SMTP headers are passed in the exact same way as they are passed to the +user's Mail Transport Agent (MTA). In effect, the email given to the user's +MTA, is the contents of $2 followed by the contents of $1. + +An example of a few common headers is shown below. Take notice of the +capitalization and multi-line tab structure. + + From: Example <from@example.com> + To: to@example.com + Cc: cc@example.com, + A <author@example.com>, + One <one@example.com>, + two@example.com + Subject: PATCH-STRING + +Exiting with a non-zero status causes `git send-email` to abort +before sending any e-mails. fsmonitor-watchman ~~~~~~~~~~~~~~~~~~ diff --git a/git-send-email.perl b/git-send-email.perl index 0a44c0e5cb..a3bc7b33d4 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -792,16 +792,31 @@ sub is_format_patch_arg { @rev_list_opts); } -@files = handle_backup_files(@files); +if (defined $sender) { + $sender =~ s/^\s+|\s+$//g; + ($sender) = expand_aliases($sender); +} else { + $sender = $repoauthor->() || $repocommitter->() || ''; +} + +# $sender could be an already sanitized address +# (e.g. sendemail.from could be manually sanitized by user). +# But it's a no-op to run sanitize_address on an already sanitized address. +$sender = sanitize_address($sender); + +$time = time - scalar $#files; if ($validate) { foreach my $f (@files) { unless (-p $f) { + pre_process_file($f, 1); validate_patch($f, $target_xfer_encoding); } } } +@files = handle_backup_files(@files); + if (@files) { unless ($quiet) { print $_,"\n" for (@files); @@ -1050,18 +1065,6 @@ sub file_declares_8bit_cte { } } -if (defined $sender) { - $sender =~ s/^\s+|\s+$//g; - ($sender) = expand_aliases($sender); -} else { - $sender = $repoauthor->() || $repocommitter->() || ''; -} - -# $sender could be an already sanitized address -# (e.g. sendemail.from could be manually sanitized by user). -# But it's a no-op to run sanitize_address on an already sanitized address. -$sender = sanitize_address($sender); - my $to_whom = __("To whom should the emails be sent (if anyone)?"); my $prompting = 0; if (!@initial_to && !defined $to_cmd) { @@ -1221,10 +1224,6 @@ sub make_message_id { #print "new message id = $message_id\n"; # Was useful for debugging } - - -$time = time - scalar $#files; - sub unquote_rfc2047 { local ($_) = @_; my $charset; @@ -2108,10 +2107,21 @@ sub validate_patch { chdir($repo->wc_path() or $repo->repo_path()) or die("chdir: $!"); local $ENV{"GIT_DIR"} = $repo->repo_path(); + + my ($recipients_ref, $to, $date, $gitversion, $cc, $ccline, $header) = gen_header(); + + require File::Temp; + my ($header_filehandle, $header_filename) = File::Temp::tempfile( + TEMPLATE => ".gitsendemail.header.XXXXXX", + DIR => $repo->repo_path(), + UNLINK => 1, + ); + print $header_filehandle $header; + my @cmd = ("git", "hook", "run", "--ignore-missing", $hook_name, "--"); - my @cmd_msg = (@cmd, "<patch>"); - my @cmd_run = (@cmd, $target); + my @cmd_msg = (@cmd, "<patch>", "<header>"); + my @cmd_run = (@cmd, $target, $header_filename); $hook_error = system_or_msg(\@cmd_run, undef, "@cmd_msg"); chdir($cwd_save) or die("chdir: $!"); } diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index 323952a572..e8c96d0d4e 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -540,7 +540,7 @@ test_expect_success $PREREQ "--validate respects relative core.hooksPath path" ' test_path_is_file my-hooks.ran && cat >expect <<-EOF && fatal: longline.patch: rejected by sendemail-validate hook - fatal: command '"'"'git hook run --ignore-missing sendemail-validate -- <patch>'"'"' died with exit code 1 + fatal: command '"'"'git hook run --ignore-missing sendemail-validate -- <patch> <header>'"'"' died with exit code 1 warning: no patches were sent EOF test_cmp expect actual @@ -559,12 +559,35 @@ test_expect_success $PREREQ "--validate respects absolute core.hooksPath path" ' test_path_is_file my-hooks.ran && cat >expect <<-EOF && fatal: longline.patch: rejected by sendemail-validate hook - fatal: command '"'"'git hook run --ignore-missing sendemail-validate -- <patch>'"'"' died with exit code 1 + fatal: command '"'"'git hook run --ignore-missing sendemail-validate -- <patch> <header>'"'"' died with exit code 1 warning: no patches were sent EOF test_cmp expect actual ' +test_expect_success $PREREQ "--validate hook supports header argument" ' + write_script my-hooks/sendemail-validate <<-\EOF && + if test "$#" -ge 2 + then + grep "X-test-header: v1.0" "$2" + else + echo "No header arg passed" + exit 1 + fi + EOF + test_config core.hooksPath "my-hooks" && + rm -fr outdir && + git format-patch \ + --add-header="X-test-header: v1.0" \ + -n HEAD^1 -o outdir && + git send-email \ + --dry-run \ + --to=nobody@example.com \ + --smtp-server="$(pwd)/fake.sendmail" \ + --validate \ + outdir/000?-*.patch +' + for enc in 7bit 8bit quoted-printable base64 do test_expect_success $PREREQ "--transfer-encoding=$enc produces correct header" ' -- 2.34.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v10 2/2] send-email: expose header information to git-send-email's sendemail-validate hook 2023-04-19 20:27 ` [PATCH v10 2/2] send-email: expose header information to git-send-email's sendemail-validate hook Michael Strawbridge @ 2023-04-21 5:27 ` Luben Tuikov 0 siblings, 0 replies; 7+ messages in thread From: Luben Tuikov @ 2023-04-21 5:27 UTC (permalink / raw) To: Michael Strawbridge, git, Junio C Hamano Cc: Ævar Arnfjörð Bjarmason On 2023-04-19 16:27, Michael Strawbridge wrote: > To allow further flexibility in the Git hook, the SMTP header > information of the email which git-send-email intends to send, is now > passed as the 2nd argument to the sendemail-validate hook. > > As an example, this can be useful for acting upon keywords in the > subject or specific email addresses. > > Cc: Luben Tuikov <luben.tuikov@amd.com> > Cc: Junio C Hamano <gitster@pobox.com> > Cc: Ævar Arnfjörð Bjarmason <avarab@gmail.com> > Acked-by: Luben Tuikov <luben.tuikov@amd.com> > Signed-off-by: Michael Strawbridge <michael.strawbridge@amd.com> Thanks for posting this Michael. Perhaps this should be pushed now. Regards, Luben > --- > Documentation/githooks.txt | 27 +++++++++++++++++---- > git-send-email.perl | 48 +++++++++++++++++++++++--------------- > t/t9001-send-email.sh | 27 +++++++++++++++++++-- > 3 files changed, 77 insertions(+), 25 deletions(-) > > diff --git a/Documentation/githooks.txt b/Documentation/githooks.txt > index 62908602e7..9896ffafaf 100644 > --- a/Documentation/githooks.txt > +++ b/Documentation/githooks.txt > @@ -595,10 +595,29 @@ processed by rebase. > sendemail-validate > ~~~~~~~~~~~~~~~~~~ > > -This hook is invoked by linkgit:git-send-email[1]. It takes a single parameter, > -the name of the file that holds the e-mail to be sent. Exiting with a > -non-zero status causes `git send-email` to abort before sending any > -e-mails. > +This hook is invoked by linkgit:git-send-email[1]. > + > +It takes these command line arguments. They are, > +1. the name of the file which holds the contents of the email to be sent. > +2. The name of the file which holds the SMTP headers of the email. > + > +The SMTP headers are passed in the exact same way as they are passed to the > +user's Mail Transport Agent (MTA). In effect, the email given to the user's > +MTA, is the contents of $2 followed by the contents of $1. > + > +An example of a few common headers is shown below. Take notice of the > +capitalization and multi-line tab structure. > + > + From: Example <from@example.com> > + To: to@example.com > + Cc: cc@example.com, > + A <author@example.com>, > + One <one@example.com>, > + two@example.com > + Subject: PATCH-STRING > + > +Exiting with a non-zero status causes `git send-email` to abort > +before sending any e-mails. > > fsmonitor-watchman > ~~~~~~~~~~~~~~~~~~ > diff --git a/git-send-email.perl b/git-send-email.perl > index 0a44c0e5cb..a3bc7b33d4 100755 > --- a/git-send-email.perl > +++ b/git-send-email.perl > @@ -792,16 +792,31 @@ sub is_format_patch_arg { > @rev_list_opts); > } > > -@files = handle_backup_files(@files); > +if (defined $sender) { > + $sender =~ s/^\s+|\s+$//g; > + ($sender) = expand_aliases($sender); > +} else { > + $sender = $repoauthor->() || $repocommitter->() || ''; > +} > + > +# $sender could be an already sanitized address > +# (e.g. sendemail.from could be manually sanitized by user). > +# But it's a no-op to run sanitize_address on an already sanitized address. > +$sender = sanitize_address($sender); > + > +$time = time - scalar $#files; > > if ($validate) { > foreach my $f (@files) { > unless (-p $f) { > + pre_process_file($f, 1); > validate_patch($f, $target_xfer_encoding); > } > } > } > > +@files = handle_backup_files(@files); > + > if (@files) { > unless ($quiet) { > print $_,"\n" for (@files); > @@ -1050,18 +1065,6 @@ sub file_declares_8bit_cte { > } > } > > -if (defined $sender) { > - $sender =~ s/^\s+|\s+$//g; > - ($sender) = expand_aliases($sender); > -} else { > - $sender = $repoauthor->() || $repocommitter->() || ''; > -} > - > -# $sender could be an already sanitized address > -# (e.g. sendemail.from could be manually sanitized by user). > -# But it's a no-op to run sanitize_address on an already sanitized address. > -$sender = sanitize_address($sender); > - > my $to_whom = __("To whom should the emails be sent (if anyone)?"); > my $prompting = 0; > if (!@initial_to && !defined $to_cmd) { > @@ -1221,10 +1224,6 @@ sub make_message_id { > #print "new message id = $message_id\n"; # Was useful for debugging > } > > - > - > -$time = time - scalar $#files; > - > sub unquote_rfc2047 { > local ($_) = @_; > my $charset; > @@ -2108,10 +2107,21 @@ sub validate_patch { > chdir($repo->wc_path() or $repo->repo_path()) > or die("chdir: $!"); > local $ENV{"GIT_DIR"} = $repo->repo_path(); > + > + my ($recipients_ref, $to, $date, $gitversion, $cc, $ccline, $header) = gen_header(); > + > + require File::Temp; > + my ($header_filehandle, $header_filename) = File::Temp::tempfile( > + TEMPLATE => ".gitsendemail.header.XXXXXX", > + DIR => $repo->repo_path(), > + UNLINK => 1, > + ); > + print $header_filehandle $header; > + > my @cmd = ("git", "hook", "run", "--ignore-missing", > $hook_name, "--"); > - my @cmd_msg = (@cmd, "<patch>"); > - my @cmd_run = (@cmd, $target); > + my @cmd_msg = (@cmd, "<patch>", "<header>"); > + my @cmd_run = (@cmd, $target, $header_filename); > $hook_error = system_or_msg(\@cmd_run, undef, "@cmd_msg"); > chdir($cwd_save) or die("chdir: $!"); > } > diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh > index 323952a572..e8c96d0d4e 100755 > --- a/t/t9001-send-email.sh > +++ b/t/t9001-send-email.sh > @@ -540,7 +540,7 @@ test_expect_success $PREREQ "--validate respects relative core.hooksPath path" ' > test_path_is_file my-hooks.ran && > cat >expect <<-EOF && > fatal: longline.patch: rejected by sendemail-validate hook > - fatal: command '"'"'git hook run --ignore-missing sendemail-validate -- <patch>'"'"' died with exit code 1 > + fatal: command '"'"'git hook run --ignore-missing sendemail-validate -- <patch> <header>'"'"' died with exit code 1 > warning: no patches were sent > EOF > test_cmp expect actual > @@ -559,12 +559,35 @@ test_expect_success $PREREQ "--validate respects absolute core.hooksPath path" ' > test_path_is_file my-hooks.ran && > cat >expect <<-EOF && > fatal: longline.patch: rejected by sendemail-validate hook > - fatal: command '"'"'git hook run --ignore-missing sendemail-validate -- <patch>'"'"' died with exit code 1 > + fatal: command '"'"'git hook run --ignore-missing sendemail-validate -- <patch> <header>'"'"' died with exit code 1 > warning: no patches were sent > EOF > test_cmp expect actual > ' > > +test_expect_success $PREREQ "--validate hook supports header argument" ' > + write_script my-hooks/sendemail-validate <<-\EOF && > + if test "$#" -ge 2 > + then > + grep "X-test-header: v1.0" "$2" > + else > + echo "No header arg passed" > + exit 1 > + fi > + EOF > + test_config core.hooksPath "my-hooks" && > + rm -fr outdir && > + git format-patch \ > + --add-header="X-test-header: v1.0" \ > + -n HEAD^1 -o outdir && > + git send-email \ > + --dry-run \ > + --to=nobody@example.com \ > + --smtp-server="$(pwd)/fake.sendmail" \ > + --validate \ > + outdir/000?-*.patch > +' > + > for enc in 7bit 8bit quoted-printable base64 > do > test_expect_success $PREREQ "--transfer-encoding=$enc produces correct header" ' ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v10 0/2] Expose header information to git-send-email's sendemail-validate hook 2023-04-19 20:27 [PATCH v10 0/2] Expose header information to git-send-email's sendemail-validate hook Michael Strawbridge 2023-04-19 20:27 ` [PATCH v10 1/2] send-email: refactor header generation functions Michael Strawbridge 2023-04-19 20:27 ` [PATCH v10 2/2] send-email: expose header information to git-send-email's sendemail-validate hook Michael Strawbridge @ 2023-05-01 21:58 ` Junio C Hamano [not found] ` <41F7913A-E91B-4442-9531-5EE8EC2CAA9E@yahoo.com> 2 siblings, 1 reply; 7+ messages in thread From: Junio C Hamano @ 2023-05-01 21:58 UTC (permalink / raw) To: Michael Strawbridge Cc: git, Luben Tuikov, Ævar Arnfjörð Bjarmason Michael Strawbridge <michael.strawbridge@amd.com> writes: > My appologies for taking a while to get back to this. Here is a reroll > with the latest suggestions from Luben. > > Michael Strawbridge (2): > send-email: refactor header generation functions > send-email: expose header information to git-send-email's > sendemail-validate hook This round did not see any further comments. Is everybody happy to see us declare victory on this front and merge it down to 'next'? The topic does not make itself a reply to previous iterations, and the cover letter does not CC: anybody who gave reviews to earlier rounds, so it is a bit hard to answer the above question myself, unfortunately. I manually picked off a few names after finding v9 and v8 from the list archive and added them to Cc: of this message. Thanks. ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <41F7913A-E91B-4442-9531-5EE8EC2CAA9E@yahoo.com>]
* Re: Fwd: [PATCH v10 0/2] Expose header information to git-send-email's sendemail-validate hook [not found] ` <41F7913A-E91B-4442-9531-5EE8EC2CAA9E@yahoo.com> @ 2023-05-02 1:05 ` Luben Tuikov 2023-05-02 18:56 ` Michael Strawbridge 0 siblings, 1 reply; 7+ messages in thread From: Luben Tuikov @ 2023-05-02 1:05 UTC (permalink / raw) To: Junio C Hamano Cc: Michael Strawbridge, git@vger.kernel.org, Ævar Arnfjörð Bjarmason On 2023-05-01 21:01, Luben Tuikov wrote: > Begin forwarded message: > >> *From:* Junio C Hamano <gitster@pobox.com> >> *Date:* May 1, 2023 at 17:58:41 EDT >> *To:* Michael Strawbridge <michael.strawbridge@amd.com> >> *Cc:* git@vger.kernel.org, Luben Tuikov <ltuikov@yahoo.com>, Ævar Arnfjörð Bjarmason <avarab@gmail.com> >> *Subject:* *Re: [PATCH v10 0/2] Expose header information to git-send-email's sendemail-validate hook* >> >> Michael Strawbridge <michael.strawbridge@amd.com> writes: >> >>> My appologies for taking a while to get back to this. Here is a reroll >>> with the latest suggestions from Luben. >>> >>> Michael Strawbridge (2): >>> send-email: refactor header generation functions >>> send-email: expose header information to git-send-email's >>> sendemail-validate hook >> >> This round did not see any further comments. Is everybody happy to >> see us declare victory on this front and merge it down to 'next'? >> >> The topic does not make itself a reply to previous iterations, and >> the cover letter does not CC: anybody who gave reviews to earlier >> rounds, so it is a bit hard to answer the above question myself, >> unfortunately. I manually picked off a few names after finding v9 >> and v8 from the list archive and added them to Cc: of this message. >> >> Thanks. Sounds good to me. -- Regards, Luben ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Fwd: [PATCH v10 0/2] Expose header information to git-send-email's sendemail-validate hook 2023-05-02 1:05 ` Fwd: " Luben Tuikov @ 2023-05-02 18:56 ` Michael Strawbridge 0 siblings, 0 replies; 7+ messages in thread From: Michael Strawbridge @ 2023-05-02 18:56 UTC (permalink / raw) To: Luben Tuikov, Junio C Hamano Cc: git@vger.kernel.org, Ævar Arnfjörð Bjarmason Thanks. I will do that in the future. On 2023-05-01 21:05, Luben Tuikov wrote: > On 2023-05-01 21:01, Luben Tuikov wrote: >> Begin forwarded message: >> >>> *From:* Junio C Hamano <gitster@pobox.com> >>> *Date:* May 1, 2023 at 17:58:41 EDT >>> *To:* Michael Strawbridge <michael.strawbridge@amd.com> >>> *Cc:* git@vger.kernel.org, Luben Tuikov <ltuikov@yahoo.com>, Ævar Arnfjörð Bjarmason <avarab@gmail.com> >>> *Subject:* *Re: [PATCH v10 0/2] Expose header information to git-send-email's sendemail-validate hook* >>> >>> Michael Strawbridge <michael.strawbridge@amd.com> writes: >>> >>>> My appologies for taking a while to get back to this. Here is a reroll >>>> with the latest suggestions from Luben. >>>> >>>> Michael Strawbridge (2): >>>> send-email: refactor header generation functions >>>> send-email: expose header information to git-send-email's >>>> sendemail-validate hook >>> This round did not see any further comments. Is everybody happy to >>> see us declare victory on this front and merge it down to 'next'? >>> >>> The topic does not make itself a reply to previous iterations, and >>> the cover letter does not CC: anybody who gave reviews to earlier >>> rounds, so it is a bit hard to answer the above question myself, >>> unfortunately. I manually picked off a few names after finding v9 >>> and v8 from the list archive and added them to Cc: of this message. >>> >>> Thanks. > Sounds good to me. ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-05-02 18:56 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-19 20:27 [PATCH v10 0/2] Expose header information to git-send-email's sendemail-validate hook Michael Strawbridge
2023-04-19 20:27 ` [PATCH v10 1/2] send-email: refactor header generation functions Michael Strawbridge
2023-04-19 20:27 ` [PATCH v10 2/2] send-email: expose header information to git-send-email's sendemail-validate hook Michael Strawbridge
2023-04-21 5:27 ` Luben Tuikov
2023-05-01 21:58 ` [PATCH v10 0/2] Expose " Junio C Hamano
[not found] ` <41F7913A-E91B-4442-9531-5EE8EC2CAA9E@yahoo.com>
2023-05-02 1:05 ` Fwd: " Luben Tuikov
2023-05-02 18:56 ` Michael Strawbridge
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).