Subject: [PATCH 0/4] Extend mailmap functionality

From: Marius Storm-Olsen <[email-masked]>
Date: Sat, 31 Jan 2009 22:47:57 +0100

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

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

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-masked]>' in the
public repo, but by using an private mailmap file, map the name back
to 'John Doe <[email-masked]>' 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