return 0;
}
-static int git_default_mailmap_config(const char *var, const char *value)
-{
- if (!strcmp(var, "mailmap.file")) {
- FREE_AND_NULL(git_mailmap_file);
- return git_config_pathname(&git_mailmap_file, var, value);
- }
-
- if (!strcmp(var, "mailmap.blob")) {
- FREE_AND_NULL(git_mailmap_blob);
- return git_config_string(&git_mailmap_blob, var, value);
- }
-
- /* Add other config variables here and to Documentation/config.adoc. */
- return 0;
-}
-
static int git_default_attr_config(const char *var, const char *value)
{
if (!strcmp(var, "attr.tree")) {
if (starts_with(var, "push."))
return git_default_push_config(var, value);
- if (starts_with(var, "mailmap."))
- return git_default_mailmap_config(var, value);
-
if (starts_with(var, "attr."))
return git_default_attr_config(var, value);
#include "object-name.h"
#include "odb.h"
#include "setup.h"
-
-char *git_mailmap_file;
-char *git_mailmap_blob;
+#include "config.h"
struct mailmap_info {
char *name;
int read_mailmap(struct repository *repo, struct string_list *map)
{
int err = 0;
+ char *mailmap_file = NULL, *mailmap_blob = NULL;
+
+ repo_config_get_pathname(repo, "mailmap.file", &mailmap_file);
+ repo_config_get_string(repo, "mailmap.blob", &mailmap_blob);
map->strdup_strings = 1;
map->cmp = namemap_cmp;
- if (!git_mailmap_blob && is_bare_repository())
- git_mailmap_blob = xstrdup("HEAD:.mailmap");
+ if (!mailmap_blob && is_bare_repository())
+ mailmap_blob = xstrdup("HEAD:.mailmap");
if (!startup_info->have_repository || !is_bare_repository())
err |= read_mailmap_file(map, ".mailmap",
startup_info->have_repository ?
MAILMAP_NOFOLLOW : 0);
if (startup_info->have_repository)
- err |= read_mailmap_blob(repo, map, git_mailmap_blob);
- err |= read_mailmap_file(map, git_mailmap_file, 0);
+ err |= read_mailmap_blob(repo, map, mailmap_blob);
+
+ err |= read_mailmap_file(map, mailmap_file, 0);
+
+ free(mailmap_file);
+ free(mailmap_blob);
+
return err;
}
struct repository;
struct string_list;
-extern char *git_mailmap_file;
-extern char *git_mailmap_blob;
-
/* Flags for read_mailmap_file() */
#define MAILMAP_NOFOLLOW (1<<0)