mbox series

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

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

Message

Keller, Jacob E Aug. 27, 2024, 9:27 p.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

Since 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 v3:
- Edit description of patch 1 to clarify lack of validation of email
  addresses.
- Update tests for check-mailmap, removing the bogus contact tests entirely.
- Link to v2: https://lore.kernel.org/r/20240819-jk-send-email-mailmap-support-v2-0-d212c3f9e505@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
      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                  |  42 +++++++++++--
 t/t9001-send-email.sh               | 122 ++++++++++++++++++++++++++++++++++++
 7 files changed, 222 insertions(+), 21 deletions(-)
---
base-commit: 87a1768b93a67d0420255a43d9e07387b2e805ad
change-id: 20240816-jk-send-email-mailmap-support-1a9e86867c72

Best regards,

Comments

Junio C Hamano Aug. 28, 2024, 1:55 a.m. UTC | #1
Jacob Keller <jacob.e.keller@intel.com> writes:

> Changes in v3:
> - Edit description of patch 1 to clarify lack of validation of email
>   addresses.
> - Update tests for check-mailmap, removing the bogus contact tests entirely.
> - Link to v2: https://lore.kernel.org/r/20240819-jk-send-email-mailmap-support-v2-0-d212c3f9e505@gmail.com

All the incremental changes looked sensible to me.  Let me wait for
a few days and then mark the topic for 'next', unless others find
issues.

Thanks.
Josh Steadmon Aug. 28, 2024, 9:23 p.m. UTC | #2
On 2024.08.27 14:27, 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
> 
> Since 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 v3:
> - Edit description of patch 1 to clarify lack of validation of email
>   addresses.
> - Update tests for check-mailmap, removing the bogus contact tests entirely.
> - Link to v2: https://lore.kernel.org/r/20240819-jk-send-email-mailmap-support-v2-0-d212c3f9e505@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
>       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                  |  42 +++++++++++--
>  t/t9001-send-email.sh               | 122 ++++++++++++++++++++++++++++++++++++
>  7 files changed, 222 insertions(+), 21 deletions(-)
> ---
> base-commit: 87a1768b93a67d0420255a43d9e07387b2e805ad
> change-id: 20240816-jk-send-email-mailmap-support-1a9e86867c72
> 
> Best regards,
> -- 
> Jacob Keller <jacob.keller@gmail.com>
> 

I'm not sure I'm competent enough with perl to review part of patch 3,
but other than that everything looks good to me. Thanks for the series!

Reviewed-by: Josh Steadmon <steadmon@google.com>