Jonathan Nieder <jrnie...@gmail.com> 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 <jrnie...@gmail.com>
> ---

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 <c...@coompany.xx>
> +     Author: claus <m...@company.xx>
> +     Author: santa <m...@company.xx>
> +     Author: nick2 <ni...@company.xx>
> +     Author: nick2 <b...@company.xx>
> +     Author: nick1 <b...@company.xx>
> +     Author: A U Thor <aut...@example.com>
> +     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 <c...@coompany.xx>
> +     Author: claus <m...@company.xx>
> +     Author: santa <m...@company.xx>
> +     Author: nick2 <ni...@company.xx>
> +     Author: nick2 <b...@company.xx>
> +     Author: nick1 <b...@company.xx>
> +     Author: A U Thor <aut...@example.com>
> +     EOF
> +     git log --no-use-mailmap | grep Author > actual &&
> +     test_cmp expect actual
> +'
> +
>  cat >expect <<\EOF
>  Author: Santa Claus <santa.cl...@northpole.xx>
>  Author: Santa Claus <santa.cl...@northpole.xx>

Reply via email to