git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v5 2/2] send-email: expose header information to git-send-email's sendemail-validate hook

From
LTLuben Tuikov <luben.tuikov@amd.com>
Date
Jan 17, 2023, 04:09 UTC
Message-ID
<f31f1480-d611-f4b4-0e7b-589574943eef@amd.com>
In-Reply-To
<xmqqfsccii86.fsf@gitster.g>
On 2023-01-14 22:34, Junio C Hamano wrote:
Show 22 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
> 
>> Junio C Hamano <gitster@pobox.com> writes:
>>
>>> "Strawbridge, Michael" <Michael.Strawbridge@amd.com> writes:
>>>
>>>> +test_expect_success $PREREQ "--validate hook supports header argument" '
>>>> +	test_when_finished "rm my-hooks.ran" &&
>>>> +	write_script my-hooks/sendemail-validate <<-\EOF &&
>>>> +	filesize=$(stat -c%s "$2")
>>>
>>> That "stat -c" is a GNU-ism, I think.  macOS CI jobs at GitHub do
>>> not seem to like it.
>>>
>>>> +	if [ "$filesize" != "0" ]; then
>>>
>>> Also, please see Documentation/CodingGuidelines to learn the subset
>>> of shell script syntax and style we adopted for this project.
> 
> I'll tentatively queue this as a fix-up on top of the topic, but is
> this testing the right thing?  Should we inspect "$2" and verify
> that it gives us what we expect, not just it being non-empty?
Hi Junio,
Thanks for reviewing this patch set.

We're generally not interested in "what else" is in the SMTP envelope and headers.

The extension this patch set provides is that if a hook-writer is interested in some SMTP header, or the contents of that header, then there is a way to provide the SMTP envelope and thus check the headers.

Currently, $1, is identical to git-format-patch's output, (for which there are other hooks to check that output.) This was a bit disappointing, as it is a git-send-email hook after all, and we're interested in the "email" part of this Git command and hook.

The idea is that hook writers would merely be grepping for a particular header they're interested in--it could even be a custom header, "X-something" for instance, and if present, they'll check the contents of that header and validate the patch, or perform some other action.

So, checking that the SMTP envelope and headers, $2, is not empty suffices for what this patch set implements. We leave it up to the hook writers to inspect the SMTP envelope and headers for their particular hook purpose.

-- 
Regards,
Luben
Previous: Junio C HamanoNext: Junio C Hamano
Message 11 of 16 in “send-email: expose header information to git-send-email's sendemail-validate hook”
  1. 0/2 send-email: expose header information to git-send-email's sendemail-validate hookStrawbridge, Michael, Jan 10, 2023
  2. 1/2 send-email: refactor header generation functionsStrawbridge, Michael, Jan 10, 2023
  3. Ævar Arnfjörð BjarmasonJan 17, 2023
  4. Junio C HamanoJan 17, 2023
  5. 1/2 send-email: refactor header generation functionsStrawbridge, Michael, Jan 17, 2023
  6. 2/2 send-email: expose header information to git-send-email's sendemail-validate hookStrawbridge, Michael, Jan 10, 2023
  7. Junio C HamanoJan 14, 2023
  8. Junio C HamanoJan 14, 2023
  9. Junio C HamanoJan 14, 2023
  10. Junio C HamanoJan 15, 2023
  11. Luben TuikovJan 17, 2023
  12. Junio C HamanoJan 17, 2023
  13. Luben TuikovJan 17, 2023
  14. Ævar Arnfjörð BjarmasonJan 17, 2023
  15. 2/2 send-email: expose header information to git-send-email's sendemail-validate hookStrawbridge, Michael, Jan 17, 2023
  16. 0/2 send-email: expose header information to git-send-email's sendemail-validate hookStrawbridge, Michael, Jan 17, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.