From d8e812502f1c72f5ef542de7eb05874e27f2b086 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Sun, 19 Nov 2006 17:28:51 +0100 Subject: shortlog: read mailmap from ./.mailmap again While at it, remove the linux specific mailmap into contrib/mailmap.linux. Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- contrib/mailmap.linux | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 contrib/mailmap.linux (limited to 'contrib/mailmap.linux') diff --git a/contrib/mailmap.linux b/contrib/mailmap.linux new file mode 100644 index 0000000000..83927c94ee --- /dev/null +++ b/contrib/mailmap.linux @@ -0,0 +1,40 @@ +# +# Even with git, we don't always have name translations. +# So have an email->real name table to translate the +# (hopefully few) missing names +# +Adrian Bunk +Andreas Herrmann +Andrew Morton +Andrew Vasquez +Christoph Hellwig +Corey Minyard +David Woodhouse +Domen Puncer +Douglas Gilbert +Ed L Cashin +Evgeniy Polyakov +Felix Moeller +Frank Zago +Greg Kroah-Hartman +James Bottomley +James Bottomley +Jeff Garzik +Jens Axboe +Kay Sievers +Mitesh shah +Morten Welinder +Morten Welinder +Morten Welinder +Morten Welinder +Nguyen Anh Quynh +Paolo 'Blaisorblade' Giarrusso +Peter A Jonsson +Ralf Wildenhues +Rudolf Marek +Rui Saraiva +Sachin P Sant +Santtu Hyrkk,Av(B +Simon Kelley +Tejun Heo +Tony Luck -- cgit v1.3 From 7595e2ee6ef9b35ebc8dc45543723e1d89765ce3 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sat, 25 Nov 2006 00:07:54 -0800 Subject: git-shortlog: make common repository prefix configurable with .mailmap The code had "/pub/scm/linux/kernel/git/" hardcoded which was too specific to the kernel project. With this, a line in the .mailmap file: # repo-abbrev: /pub/scm/linux/kernel/git/ can be used to cause the substring to be abbreviated to /.../ on the title line of the commit message. Signed-off-by: Junio C Hamano --- builtin-shortlog.c | 24 ++++++++++++++++++++++-- contrib/mailmap.linux | 2 ++ 2 files changed, 24 insertions(+), 2 deletions(-) (limited to 'contrib/mailmap.linux') diff --git a/builtin-shortlog.c b/builtin-shortlog.c index bdd952c252..b5b13dee3b 100644 --- a/builtin-shortlog.c +++ b/builtin-shortlog.c @@ -9,6 +9,8 @@ static const char shortlog_usage[] = "git-shortlog [-n] [-s] [... ]"; +static char *common_repo_prefix; + static int compare_by_number(const void *a1, const void *a2) { const struct path_list_item *i1 = a1, *i2 = a2; @@ -35,8 +37,26 @@ static int read_mailmap(const char *filename) char *end_of_name, *left_bracket, *right_bracket; char *name, *email; int i; - if (buffer[0] == '#') + if (buffer[0] == '#') { + static const char abbrev[] = "# repo-abbrev:"; + int abblen = sizeof(abbrev) - 1; + int len = strlen(buffer); + + if (len && buffer[len - 1] == '\n') + buffer[--len] = 0; + if (!strncmp(buffer, abbrev, abblen)) { + char *cp; + + if (common_repo_prefix) + free(common_repo_prefix); + common_repo_prefix = xmalloc(len); + + for (cp = buffer + abblen; isspace(*cp); cp++) + ; /* nothing */ + strcpy(common_repo_prefix, cp); + } continue; + } if ((left_bracket = strchr(buffer, '<')) == NULL) continue; if ((right_bracket = strchr(left_bracket + 1, '>')) == NULL) @@ -87,7 +107,7 @@ static void insert_author_oneline(struct path_list *list, const char *author, int authorlen, const char *oneline, int onelinelen) { - const char *dot3 = "/pub/scm/linux/kernel/git/"; + const char *dot3 = common_repo_prefix; char *buffer, *p; struct path_list_item *item; struct path_list *onelines; diff --git a/contrib/mailmap.linux b/contrib/mailmap.linux index 83927c94ee..e4907f80f1 100644 --- a/contrib/mailmap.linux +++ b/contrib/mailmap.linux @@ -3,6 +3,8 @@ # So have an email->real name table to translate the # (hopefully few) missing names # +# repo-abbrev: /pub/scm/linux/kernel/git/ +# Adrian Bunk Andreas Herrmann Andrew Morton -- cgit v1.3