Skip to content

Extend mailmap functionality

Marius Storm-Olsen git 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4Add log.mailmap as configurational option for mailmap locationDocumentation/config.txt Documentation/git-shortlog.txt builtin-blame.c +5 more+86 -40 replies
2/4Add find_insert_index, insert_at_index and clear_func functions to string_liststring-list.c string-list.h+48 -40 replies
3/4Add map_user() and clear_mailmap() to mailmapDocumentation/git-shortlog.txt mailmap.c mailmap.h+234 -330 replies
4/4Change current mailmap usage to do matching on both name and email of author/committer.Documentation/git-shortlog.txt Documentation/pretty-formats.txt builtin-blame.c +3 more+183 -621 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/4] Extend mailmap functionality

So, this patch series extends the mailmap functionality to:
1) Allow the mailmap file in any location (also outside repo)
2) Enable mailmap to match on both Name and Email

So, why would this be a good thing?

2) Lets you replace both name and email of an author/committer, based on a name and/or email. So, should you have done commits with faulty address, or if an old email simply isn't valid anymore, you can add a mapping for that to replace it. So, the old style mapping is Proper Name <[email protected]>

while this patch series adds support for
Proper Name <[email protected]> <[email protected]> Proper Name <[email protected]> Commit Name <[email protected]>

1) Lets you keep a private mailmap file, which is not distributed with your repository.

This patch serie for extended mapping is necessary when a company wants to have their repositories open to the public, but needs to protect the identities of the developers. It enables you to only show nicks and standardized emails, like 'Dev123 <[email protected]>' in the public repo, but by using an private mailmap file, map the name back to 'John Doe <[email protected]>' inside the company.

Patch serie applies cleanly on master branch, and test run shows no regressions.

Marius Storm-Olsen (4):
Add log.mailmap as configurational option for mailmap location Add find_insert_index, insert_at_index and clear_func functions to
string_list
Add map_user() and clear_mailmap() to mailmap
Change current mailmap usage to do matching on both name and email of
author/committer.

 Documentation/config.txt         |    9 ++
 Documentation/git-shortlog.txt   |   61 +++++++++---
 Documentation/pretty-formats.txt |    2 +
 builtin-blame.c                  |   52 ++++++----
 builtin-shortlog.c               |   25 ++++-
 cache.h                          |    1 +
 config.c                         |   10 ++
 mailmap.c                        |  207 ++++++++++++++++++++++++++++++++++----
 mailmap.h                        |    4 +
 pretty.c                         |   59 ++++++-----
 string-list.c                    |   43 +++++++-
 string-list.h                    |    9 ++
 t/t4203-mailmap.sh               |  152 ++++++++++++++++++++++++++++
 13 files changed, 541 insertions(+), 93 deletions(-)
 create mode 100755 t/t4203-mailmap.sh