Browse Source

log: add --use-mailmap option

Add the --use-mailmap option to log commands. It allows to display
names from mailmap file when displaying logs, whatever the format
used.

Signed-off-by: Antoine Pelisse <apelisse@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Antoine Pelisse 12 years ago committed by Junio C Hamano
parent
commit
ea57bc0d41
  1. 5
      Documentation/git-log.txt
  2. 9
      builtin/log.c

5
Documentation/git-log.txt

@ -47,6 +47,11 @@ OPTIONS
Print out the ref name given on the command line by which each Print out the ref name given on the command line by which each
commit was reached. commit was reached.


--use-mailmap::
Use mailmap file to map author and committer names and email
to canonical real names and email addresses. See
linkgit:git-shortlog[1].

--full-diff:: --full-diff::
Without this flag, "git log -p <path>..." shows commits that Without this flag, "git log -p <path>..." shows commits that
touch the specified paths, and diffs about the same specified touch the specified paths, and diffs about the same specified

9
builtin/log.c

@ -22,6 +22,7 @@
#include "branch.h" #include "branch.h"
#include "streaming.h" #include "streaming.h"
#include "version.h" #include "version.h"
#include "mailmap.h"


/* Set a default date-time format for git log ("log.date" config variable) */ /* Set a default date-time format for git log ("log.date" config variable) */
static const char *default_date_mode = NULL; static const char *default_date_mode = NULL;
@ -94,11 +95,12 @@ static void cmd_log_init_finish(int argc, const char **argv, const char *prefix,
struct rev_info *rev, struct setup_revision_opt *opt) struct rev_info *rev, struct setup_revision_opt *opt)
{ {
struct userformat_want w; struct userformat_want w;
int quiet = 0, source = 0; int quiet = 0, source = 0, mailmap = 0;


const struct option builtin_log_options[] = { const struct option builtin_log_options[] = {
OPT_BOOLEAN(0, "quiet", &quiet, N_("suppress diff output")), OPT_BOOLEAN(0, "quiet", &quiet, N_("suppress diff output")),
OPT_BOOLEAN(0, "source", &source, N_("show source")), OPT_BOOLEAN(0, "source", &source, N_("show source")),
OPT_BOOLEAN(0, "use-mailmap", &mailmap, N_("Use mail map file")),
{ OPTION_CALLBACK, 0, "decorate", NULL, NULL, N_("decorate options"), { OPTION_CALLBACK, 0, "decorate", NULL, NULL, N_("decorate options"),
PARSE_OPT_OPTARG, decorate_callback}, PARSE_OPT_OPTARG, decorate_callback},
OPT_END() OPT_END()
@ -136,6 +138,11 @@ static void cmd_log_init_finish(int argc, const char **argv, const char *prefix,
if (source) if (source)
rev->show_source = 1; rev->show_source = 1;


if (mailmap) {
rev->mailmap = xcalloc(1, sizeof(struct string_list));
read_mailmap(rev->mailmap, NULL);
}

if (rev->pretty_given && rev->commit_format == CMIT_FMT_RAW) { if (rev->pretty_given && rev->commit_format == CMIT_FMT_RAW) {
/* /*
* "log --pretty=raw" is special; ignore UI oriented * "log --pretty=raw" is special; ignore UI oriented

Loading…
Cancel
Save