On Sun, Jul 28, 2019 at 09:23:18AM +0200, Matthias Beyer wrote: > > So what I am looking for is tools to automate contributor and maintainer > workflow, especially: > > 1) Repliying to each emailpatch of a set of patches with > "Reviewed-by: <user@host>" (or other trailers) > > Szenario: I see a patchset on a mailinglist. I apply this patchset to my > local copy of the repository, review it and test it. > I want to send "Reviewed-by" and "Tested-by" trailers for each patch. I have the following in my ~/.emacs.el file: (defvar signed-off-by-address "Theodore Ts\'o <tytso@xxxxxxx>" "Address used by insert-signed-off-by") (defun insert-signed-off-by () (interactive) (insert (concat "Signed-off-by: " signed-off-by-address "\n"))) (defun insert-reviewed-by () (interactive) (insert (concat "Reviewed-by: " signed-off-by-address "\n"))) (global-set-key "\^Cs" 'insert-signed-off-by) (global-set-key "\^Cr" 'insert-reviewed-by) If I see an e-mail on the mailing list for me to review, I may or may not apply it to my tree depending on how complex it is to review. But then in the e-mail reply, I just type "^C r" to insert the Reviwed-by tag in my e-mail response. Typically my replies will end with something like this: Once you address the above comments, feel free to add: Reviewed-by: Theodore Ts'o <tytso@xxxxxxx> Or a straight LGTM: Looks good, feel free to add: Reviewed-by: Theodore Ts'o <tytso@xxxxxxx> > > 2) Applying a set of emails as patches, where "Reviewed-by" and other trailers > from the tree of emails are automatically included in the commit message when > applying (how do the kernel people do this? By hand? I don't think so, do > they?) Patchwork will automatically include the Reviwed-by tags from the e-mail thread. So for example, see this patch: http://patchwork.ozlabs.org/patch/1064297/ If you click the series link, you'll get a Unix mbox file with all of the patches in the patch series, complete with the tags from the replies tagged. (e.g, where people have replied with "Looks good, feel free to add...") It is suitable for application using "git am -s". There are other tools and scripts people might use, but this is one such workflow. Hope this helps, - Ted