Hi, Bagas Sanjaya, Apr 01, 2023 at 04:54: > In most cases, the patch series is generated by git-format-patch(1). > When the command is run, it will output: > > ``` > $ git format-patch -o /tmp --cover-letter --base=<base-commit> <base-commit> > /tmp/0000-cover-letter.patch > /tmp/0001-<patch-subject>.patch > /tmp/0002-<patch-subject>.patch > /tmp/0003-<patch-subject>.patch > ... > ``` > > The output can be fed to the hook (as you write). > > But I think the hook should also take patch file arguments, for the > sake of completeness with sendemail-validate hook; that is: > > ``` > sendemail-validate-series <patch file>... > ``` I don't mind adding this but I am concerned with the maximum size of the command line arguments when sending large series. Standard input seems like a safer solution. > Also, there should have a check that In-Reply-To must be the first > patch in the given series or the cover letter (if there is one). This is really non-trivial as it depends on the --[no-]chain-reply-to and --[no-]thread options. Also, the validation occurs before the message id headers are generated. I'd prefer trusting git-format-patch to order the patch files properly based on their file names. > Anyway, rather than pinging by random people, I'd like to see [PATCH > RESEND], rebased on latest git.git tree, ideally with Junio Cc'ed. Will do. Thanks.