blame: use .mailmap unconditionally

There really isn't any point in turning off .mailmap.  The
number of mailmap lookups are bounded by number of lines in the
target file, and the real blame processing is much more
expensive.  If it turns out to be too costly, we should optimize
the mailmap lookup itself, instead of avoiding the call.

If the author information of commits of the project are
relatively clean, .mailmap would have only small number of
entries, and the overhead of looking it up will not be high.  On
the other hand, if the author information is really screwed up
that a good .mailmap needs to be maintained to run shortlog,
giving uncleaned names in blame output is not helpful at all
either.

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano 2007-05-02 23:58:14 -07:00
parent 6644d2f2c4
commit 50acc58914

View File

@ -20,13 +20,12 @@
#include "mailmap.h" #include "mailmap.h"
static char blame_usage[] = static char blame_usage[] =
"git-blame [-c] [-b] [-l] [--root] [-x] [-t] [-f] [-n] [-s] [-p] [-L n,m] [-S <revs-file>] [-M] [-C] [-C] [--contents <filename>] [--incremental] [commit] [--] file\n" "git-blame [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-p] [-L n,m] [-S <revs-file>] [-M] [-C] [-C] [--contents <filename>] [--incremental] [commit] [--] file\n"
" -c Use the same output mode as git-annotate (Default: off)\n" " -c Use the same output mode as git-annotate (Default: off)\n"
" -b Show blank SHA-1 for boundary commits (Default: off)\n" " -b Show blank SHA-1 for boundary commits (Default: off)\n"
" -l Show long commit SHA1 (Default: off)\n" " -l Show long commit SHA1 (Default: off)\n"
" --root Do not treat root commits as boundaries (Default: off)\n" " --root Do not treat root commits as boundaries (Default: off)\n"
" -t Show raw timestamp (Default: off)\n" " -t Show raw timestamp (Default: off)\n"
" -x Do not use .mailmap file\n"
" -f, --show-name Show original filename (Default: auto)\n" " -f, --show-name Show original filename (Default: auto)\n"
" -n, --show-number Show original linenumber (Default: off)\n" " -n, --show-number Show original linenumber (Default: off)\n"
" -s Suppress author name and timestamp (Default: off)\n" " -s Suppress author name and timestamp (Default: off)\n"
@ -46,7 +45,6 @@ static int show_root;
static int blank_boundary; static int blank_boundary;
static int incremental; static int incremental;
static int cmd_is_annotate; static int cmd_is_annotate;
static int no_mailmap;
static struct path_list mailmap; static struct path_list mailmap;
#ifndef DEBUG #ifndef DEBUG
@ -2173,9 +2171,6 @@ int cmd_blame(int argc, const char **argv, const char *prefix)
else if (!strcmp("-p", arg) || else if (!strcmp("-p", arg) ||
!strcmp("--porcelain", arg)) !strcmp("--porcelain", arg))
output_option |= OUTPUT_PORCELAIN; output_option |= OUTPUT_PORCELAIN;
else if (!strcmp("-x", arg) ||
!strcmp("--no-mailmap", arg))
no_mailmap = 1;
else if (!strcmp("--", arg)) { else if (!strcmp("--", arg)) {
seen_dashdash = 1; seen_dashdash = 1;
i++; i++;
@ -2375,7 +2370,6 @@ int cmd_blame(int argc, const char **argv, const char *prefix)
die("reading graft file %s failed: %s", die("reading graft file %s failed: %s",
revs_file, strerror(errno)); revs_file, strerror(errno));
if (!no_mailmap)
read_mailmap(&mailmap, ".mailmap", NULL); read_mailmap(&mailmap, ".mailmap", NULL);
assign_blame(&sb, &revs, opt); assign_blame(&sb, &revs, opt);