From: Petr Baudis Date: Sun, 06 Nov 2005 23:07:57 GMT Subject: [PATCH] Support for passing path to custom map in git-shortlog.perl Message-ID: <20051106230757.24941.19267.stgit@machine.or.cz> Aside of looking into .mailmap, add support for -m MAPFILE. Signed-off-by: Petr Baudis --- Documentation/git-shortlog.txt | 10 +++++++++- git-shortlog.perl | 10 ++++++++++ 2 files changed, 19 insertions(+), 1 deletions(-) diff --git a/Documentation/git-shortlog.txt b/Documentation/git-shortlog.txt index 65ca77f..c8de78e 100644 --- a/Documentation/git-shortlog.txt +++ b/Documentation/git-shortlog.txt @@ -8,13 +8,21 @@ git-shortlog - Summarize 'git log' outpu SYNOPSIS -------- -'git-log --pretty=short | git shortlog' +'git-log --pretty=short | git shortlog [-m MAILMAP_FILE]' DESCRIPTION ----------- Summarizes 'git log' output in a format suitable for inclusion in release announcements. +OPTIONS +------- +-m MAILMAP_FILE:: + File containing the email-to-realname mappings to be used + in case of the realname missing in the "Author" field of + the commit. In addition, the '.mailmap' file and few predefined + mappings are also always searched. + Author ------ diff --git a/git-shortlog.perl b/git-shortlog.perl index 7283159..cd83dbe 100755 --- a/git-shortlog.perl +++ b/git-shortlog.perl @@ -1,6 +1,7 @@ #!/usr/bin/perl -w use strict; +use Getopt::Std; my (%mailmap); my (%email); @@ -9,6 +10,9 @@ my $pstate = 1; my $n_records = 0; my $n_output = 0; +my (%opts); +getopts('m:', \%opts); + sub shortlog_entry($$) { my ($name, $desc) = @_; my $key = $name; @@ -132,6 +136,12 @@ sub setup_mailmap { read_mailmap($fh, \%mailmap); close $fh; } + if ($opts{'m'}) { + my $fh = undef; + open($fh, '<', $opts{'m'}) or die "Cannot open mailmap $opts{m}: $!"; + read_mailmap($fh, \%mailmap); + close($fh); + } } sub finalize {