mbox series

[v2,0/3] send-email: add --mailmap support

Message ID 20240819-jk-send-email-mailmap-support-v2-0-d212c3f9e505@gmail.com (mailing list archive)
Headers show
Series send-email: add --mailmap support | expand

Message

Jacob Keller Aug. 20, 2024, 12:07 a.m. UTC
I recently sent a series to enable mailmap support in format patch. The
discussion led me to realize that the true problem we wanted solved is to
map addresses at send time, so that we do not accidentally include a dead
mail address when sending an old change.

Instead of worrying about what the formatted patch has, this series
implements support for mailmap at the send-email, which will translate all
addresses, and not just the author/commit addresses for a patch, but also
the email for any trailers.o

With v2, we now have a configuration option (sendemail.mailmap) to enable
this behavior. In addition, I enabled support for email-specific mailmap
files.

The intention of these is to allow a maintainer to map the known-dead
addresses of former colleagues onto a current email for an owner within the
team. This would be used to update the send addresses to avoid including
no-longer-valid addresses when sending patches. This is intended for cases
where the original author is no longer valid such as when they are no
longer employed to work on the project. While sometimes pointing to a
canonical public address of that person may make sense, in other contexts,
removing them from the email makes sense.

I believe this version solves the use case we have of ensuring that we stop
sending emails with invalid addresses, and may be useful for others as
well.

Signed-off-by: Jacob Keller <jacob.keller@gmail.com>
---
Changes in v2:
- Loosen restriction on git check-mailmap by default, rather than
  introducing a specific --no-brackets option.
- Re-write commit message for the send-email changes.
- Add --mailmap-file and --mailmap-blob options to git check-mailmap.
- Add configuration options to git send-email for enabling mailmap support
  by default, as well as providing send-email specific mailmap files.
- Link to v1: https://lore.kernel.org/r/20240816-jk-send-email-mailmap-support-v1-0-68ca5b4a6078@gmail.com
- Link to previous "v0": https://lore.kernel.org/r/20240813-jk-support-mailmap-git-format-patch-v1-1-1aea690ea5dd@gmail.com

---
Jacob Keller (3):
      check-mailmap: accept "user@host" contacts
      [1] check-mailmap: add options for additional mailmap sources
      send-email: add mailmap support via sendemail.mailmap and --mailmap

 mailmap.h                           |   7 +++
 builtin/check-mailmap.c             |  25 +++++---
 mailmap.c                           |   9 +--
 Documentation/git-check-mailmap.txt |  18 ++++--
 git-send-email.perl                 |  20 ++++++
 t/t4203-mailmap.sh                  |  33 +++++++++-
 t/t9001-send-email.sh               | 122 ++++++++++++++++++++++++++++++++++++
 7 files changed, 215 insertions(+), 19 deletions(-)
---
base-commit: 87a1768b93a67d0420255a43d9e07387b2e805ad
change-id: 20240816-jk-send-email-mailmap-support-1a9e86867c72

Best regards,

Comments

Josh Steadmon Aug. 21, 2024, 6:23 p.m. UTC | #1
On 2024.08.19 17:07, Jacob Keller wrote:
> I recently sent a series to enable mailmap support in format patch. The
> discussion led me to realize that the true problem we wanted solved is to
> map addresses at send time, so that we do not accidentally include a dead
> mail address when sending an old change.
> 
> Instead of worrying about what the formatted patch has, this series
> implements support for mailmap at the send-email, which will translate all
> addresses, and not just the author/commit addresses for a patch, but also
> the email for any trailers.o
> 
> With v2, we now have a configuration option (sendemail.mailmap) to enable
> this behavior. In addition, I enabled support for email-specific mailmap
> files.
> 
> The intention of these is to allow a maintainer to map the known-dead
> addresses of former colleagues onto a current email for an owner within the
> team. This would be used to update the send addresses to avoid including
> no-longer-valid addresses when sending patches. This is intended for cases
> where the original author is no longer valid such as when they are no
> longer employed to work on the project. While sometimes pointing to a
> canonical public address of that person may make sense, in other contexts,
> removing them from the email makes sense.
> 
> I believe this version solves the use case we have of ensuring that we stop
> sending emails with invalid addresses, and may be useful for others as
> well.
> 
> Signed-off-by: Jacob Keller <jacob.keller@gmail.com>
> ---
> Changes in v2:
> - Loosen restriction on git check-mailmap by default, rather than
>   introducing a specific --no-brackets option.
> - Re-write commit message for the send-email changes.
> - Add --mailmap-file and --mailmap-blob options to git check-mailmap.
> - Add configuration options to git send-email for enabling mailmap support
>   by default, as well as providing send-email specific mailmap files.
> - Link to v1: https://lore.kernel.org/r/20240816-jk-send-email-mailmap-support-v1-0-68ca5b4a6078@gmail.com
> - Link to previous "v0": https://lore.kernel.org/r/20240813-jk-support-mailmap-git-format-patch-v1-1-1aea690ea5dd@gmail.com
> 
> ---
> Jacob Keller (3):
>       check-mailmap: accept "user@host" contacts
>       [1] check-mailmap: add options for additional mailmap sources
>       send-email: add mailmap support via sendemail.mailmap and --mailmap
> 
>  mailmap.h                           |   7 +++
>  builtin/check-mailmap.c             |  25 +++++---
>  mailmap.c                           |   9 +--
>  Documentation/git-check-mailmap.txt |  18 ++++--
>  git-send-email.perl                 |  20 ++++++
>  t/t4203-mailmap.sh                  |  33 +++++++++-
>  t/t9001-send-email.sh               | 122 ++++++++++++++++++++++++++++++++++++
>  7 files changed, 215 insertions(+), 19 deletions(-)
> ---
> base-commit: 87a1768b93a67d0420255a43d9e07387b2e805ad
> change-id: 20240816-jk-send-email-mailmap-support-1a9e86867c72
> 
> Best regards,
> -- 
> Jacob Keller <jacob.keller@gmail.com>
> 

This looks good to me, just some small test complaints in Patch #1.
Thanks for sending the series!