Add mailmap.file as configurational option for mailmap location

This allows us to augment the repo mailmap file, and to use
mailmap files elsewhere than the repository root. Meaning
that the entries in mailmap.file will override the entries
in "./.mailmap", should they match.

Signed-off-by: Marius Storm-Olsen <marius@trolltech.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Marius Storm-Olsen
2009-02-08 15:34:27 +01:00
committed by Junio C Hamano
parent 88ccb9f974
commit d551a48816
10 changed files with 147 additions and 7 deletions

View File

@ -2,10 +2,11 @@
#include "string-list.h"
#include "mailmap.h"
int read_mailmap(struct string_list *map, const char *filename, char **repo_abbrev)
const char *git_mailmap_file;
static int read_single_mailmap(struct string_list *map, const char *filename, char **repo_abbrev)
{
char buffer[1024];
FILE *f = fopen(filename, "r");
FILE *f = (filename == NULL ? NULL : fopen(filename, "r"));
if (f == NULL)
return 1;
@ -60,6 +61,13 @@ int read_mailmap(struct string_list *map, const char *filename, char **repo_abbr
return 0;
}
int read_mailmap(struct string_list *map, char **repo_abbrev)
{
/* each failure returns 1, so >1 means both calls failed */
return read_single_mailmap(map, ".mailmap", repo_abbrev) +
read_single_mailmap(map, git_mailmap_file, repo_abbrev) > 1;
}
int map_email(struct string_list *map, const char *email, char *name, int maxlen)
{
char *p;