Subject: Re: git maintainer workflow tools?

From: "Theodore Y. Ts'o" <[email-masked]>
Date: Sun, 28 Jul 2019 10:19:57 -0400

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 <[email-masked]>"
  "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 <[email-masked]>

Or a straight LGTM:

	Looks good, feel free to add:

	Reviewed-by: Theodore Ts'o <[email-masked]>

> 
> 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