This series extends the logic in git-send-email so that addresses appearing in various *-by: trailers (e.g. Reviewed-by, Acked-by, Tested-by) are picked up and added to the Cc list, in addition to the current logic that picks up Cc: and Signed-off-by: lines.
This deliberately only picks up -by trailers (as opposed to any trailer), based on the heuristic that the -by suffix strongly suggests there's a (name +) email address after the colon. This avoids having to deal with BugID:, Link:, or other such tags. Still, widening to any -by trailer does increase the risk that we will pick up stuff that is not an email address, such as
Reported-by: Coverity
Patch-generated-by: Coccinelle
where send-email then ends up cc'ing the local 'coverity' user. Patch 2 tries to weed out the obvious no-email-address-here cases, which should also help avoid cc'ing garbage (local) addresses for malformed cc and signed-off-by lines. Patch 3 is then mostly mechanical, introducing the misc-by suppression category and changing the regexp for matching trailer lines to include .*-by.
Changes in v2: Rework logic in patch 3 as suggested by Junio.
v1 cover letter:
This has been attempted multiple times before, but I hope that this can make it in this time around. That *-by addresses are not automatically Cc'ed certainly still surprises people from time to time.
I hope that this addresses all the concerns Junio had in https://lkml.org/lkml/2016/8/31/768 .
For the name, I chose 'misc-by', since that has -by in its name. I am fine with absolutely any other name (bodyby, body-by, by-trailers, ...). I doubt we can find a short token that is completely self-explanatory, and note that one has to look in the man page anyway to know what 'sob' means in this line from 'git send-email -h':
--suppress-cc <str> * author, self, sob, cc, cccmd, body, bodycc, all.
Rasmus Villemoes (3):
Documentation/git-send-email.txt: style fixes
send-email: only consider lines containing @ or <> for automatic
Cc'ing
send-email: also pick up cc addresses from -by trailers Documentation/git-send-email.txt | 11 +++++++----
git-send-email.perl | 24 +++++++++++++++++-------
2 files changed, 24 insertions(+), 11 deletions(-)