DORMANTno replies

[PATCH] Support for passing path to custom map in git-shortlog.perl

From: Petr Baudis <hidden>
Date: 2016-06-15 22:42:10
Subsystem: documentation, the rest · Maintainers: Jonathan Corbet, Linus Torvalds

Aside of looking into .mailmap, add support for -m MAPFILE.

Signed-off-by: Petr Baudis <redacted>
---

 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 {
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help