Jonathan Nieder <jrnieder@xxxxxxxxx> writes: > We'll also want to update the docs. And as Todd suggests, we should > cover how to disable mailmap in tests. > > Signed-off-by: Jonathan Nieder <jrnieder@xxxxxxxxx> > --- I avoided the "don't bother initializing use_mailmap_config to unknown" simplification, but I guess the change is clear enough. > diff --git i/Documentation/config/log.txt w/Documentation/config/log.txt > index 7798e10cb0..e9e1e397f3 100644 > --- i/Documentation/config/log.txt > +++ w/Documentation/config/log.txt > @@ -41,4 +41,4 @@ log.showSignature:: > log.mailmap:: > If true, makes linkgit:git-log[1], linkgit:git-show[1], and > linkgit:git-whatchanged[1] assume `--use-mailmap`, otherwise > - assume `--no-use-mailmap`. False by default. > + assume `--no-use-mailmap`. True by default. Good. Thanks for being extra careful. > diff --git i/builtin/log.c w/builtin/log.c > index 02fa179077..44b10b3415 100644 > --- i/builtin/log.c > +++ w/builtin/log.c > @@ -47,7 +47,7 @@ static int default_follow; > static int default_show_signature; > static int decoration_style; > static int decoration_given; > -static int use_mailmap_config = -1; > +static int use_mailmap_config = 1; > static const char *fmt_patch_subject_prefix = "PATCH"; > static const char *fmt_pretty; > > @@ -160,7 +160,7 @@ static void cmd_log_init_finish(int argc, const char **argv, const char *prefix, > struct rev_info *rev, struct setup_revision_opt *opt) > { > struct userformat_want w; > - int quiet = 0, source = 0, mailmap = 0; > + int quiet = 0, source = 0, mailmap; > static struct line_opt_callback_data line_cb = {NULL, NULL, STRING_LIST_INIT_DUP}; > static struct string_list decorate_refs_exclude = STRING_LIST_INIT_NODUP; > static struct string_list decorate_refs_include = STRING_LIST_INIT_NODUP; > @@ -204,9 +204,6 @@ static void cmd_log_init_finish(int argc, const char **argv, const char *prefix, > memset(&w, 0, sizeof(w)); > userformat_find_requirements(NULL, &w); > > - if (mailmap < 0) > - mailmap = 1; > - > if (!rev->show_notes_given && (!rev->pretty_given || w.notes)) > rev->show_notes = 1; > if (rev->show_notes) > diff --git i/t/t4203-mailmap.sh w/t/t4203-mailmap.sh > index ede0c292af..918ada69eb 100755 > --- i/t/t4203-mailmap.sh > +++ w/t/t4203-mailmap.sh > @@ -442,6 +442,34 @@ test_expect_success 'Log output with log.mailmap' ' > test_cmp expect actual > ' > > +test_expect_success 'log.mailmap=false disables mailmap' ' > + cat >expect <<-\EOF && > + Author: CTO <cto@xxxxxxxxxxx> > + Author: claus <me@xxxxxxxxxx> > + Author: santa <me@xxxxxxxxxx> > + Author: nick2 <nick2@xxxxxxxxxx> > + Author: nick2 <bugs@xxxxxxxxxx> > + Author: nick1 <bugs@xxxxxxxxxx> > + Author: A U Thor <author@xxxxxxxxxxx> > + EOF > + git -c log.mailmap=False log | grep Author > actual && > + test_cmp expect actual > +' > + > +test_expect_success '--no-use-mailmap disables mailmap' ' > + cat >expect <<-\EOF && > + Author: CTO <cto@xxxxxxxxxxx> > + Author: claus <me@xxxxxxxxxx> > + Author: santa <me@xxxxxxxxxx> > + Author: nick2 <nick2@xxxxxxxxxx> > + Author: nick2 <bugs@xxxxxxxxxx> > + Author: nick1 <bugs@xxxxxxxxxx> > + Author: A U Thor <author@xxxxxxxxxxx> > + EOF > + git log --no-use-mailmap | grep Author > actual && > + test_cmp expect actual > +' > + > cat >expect <<\EOF > Author: Santa Claus <santa.claus@xxxxxxxxxxxx> > Author: Santa Claus <santa.claus@xxxxxxxxxxxx>