diff options
-rw-r--r-- | Documentation/RelNotes/2.23.0.txt | 8 | ||||
-rw-r--r-- | Documentation/config/log.txt | 2 | ||||
-rw-r--r-- | builtin/log.c | 21 | ||||
-rwxr-xr-x | t/t4203-mailmap.sh | 33 | ||||
-rwxr-xr-x | t/t7006-pager.sh | 2 |
5 files changed, 39 insertions, 27 deletions
diff --git a/Documentation/RelNotes/2.23.0.txt b/Documentation/RelNotes/2.23.0.txt index e1b1ce5680..65c8c0e58c 100644 --- a/Documentation/RelNotes/2.23.0.txt +++ b/Documentation/RelNotes/2.23.0.txt @@ -10,6 +10,9 @@ Backward compatibility note prerequisite patches in an unstable way, which has been updated to compute in a way that is compatible with "git patch-id --stable". + * The "git log" command by default behaves as if the --mailmap option + was given. + UI, Workflows & Features @@ -91,11 +94,6 @@ UI, Workflows & Features commit-graph files now, which allows the commit-graph files to be updated incrementally. - * The "git log" command learns to issue a warning when log.mailmap - configuration is not set and --[no-]mailmap option is not used, to - prepare users for future versions of Git that uses the mailmap by - default. - * "git range-diff" output has been tweaked for easier identification of which part of what file the patch shown is about. diff --git a/Documentation/config/log.txt b/Documentation/config/log.txt index 7798e10cb0..e9e1e397f3 100644 --- a/Documentation/config/log.txt +++ b/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. diff --git a/builtin/log.c b/builtin/log.c index 1cf9e37736..44b10b3415 100644 --- a/builtin/log.c +++ b/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; @@ -156,21 +156,11 @@ static void cmd_log_init_defaults(struct rev_info *rev) parse_date_format(default_date_mode, &rev->date_mode); } -static char warn_unspecified_mailmap_msg[] = -N_("log.mailmap is not set; its implicit value will change in an\n" - "upcoming release. To squelch this message and preserve current\n" - "behaviour, set the log.mailmap configuration value to false.\n" - "\n" - "To squelch this message and adopt the new behaviour now, set the\n" - "log.mailmap configuration value to true.\n" - "\n" - "See 'git help config' and search for 'log.mailmap' for further information."); - 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; @@ -214,13 +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) { - if (session_is_interactive() && !rev->pretty_given) - warning("%s\n", _(warn_unspecified_mailmap_msg)); - - mailmap = 0; - } - if (!rev->show_notes_given && (!rev->pretty_given || w.notes)) rev->show_notes = 1; if (rev->show_notes) diff --git a/t/t4203-mailmap.sh b/t/t4203-mailmap.sh index 43b1522ea2..918ada69eb 100755 --- a/t/t4203-mailmap.sh +++ b/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@coompany.xx> + Author: claus <me@company.xx> + Author: santa <me@company.xx> + Author: nick2 <nick2@company.xx> + Author: nick2 <bugs@company.xx> + Author: nick1 <bugs@company.xx> + Author: A U Thor <author@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 <cto@coompany.xx> + Author: claus <me@company.xx> + Author: santa <me@company.xx> + Author: nick2 <nick2@company.xx> + Author: nick2 <bugs@company.xx> + Author: nick1 <bugs@company.xx> + Author: A U Thor <author@example.com> + EOF + git log --no-use-mailmap | grep Author > actual && + test_cmp expect actual +' + cat >expect <<\EOF Author: Santa Claus <santa.claus@northpole.xx> Author: Santa Claus <santa.claus@northpole.xx> @@ -461,6 +489,11 @@ test_expect_success 'Grep author with log.mailmap' ' test_cmp expect actual ' +test_expect_success 'log.mailmap is true by default these days' ' + git log --author Santa | grep Author >actual && + test_cmp expect actual +' + test_expect_success 'Only grep replaced author with --use-mailmap' ' git log --use-mailmap --author "<cto@coompany.xx>" >actual && test_must_be_empty actual diff --git a/t/t7006-pager.sh b/t/t7006-pager.sh index 7976fa7bcc..00e09a375c 100755 --- a/t/t7006-pager.sh +++ b/t/t7006-pager.sh @@ -7,8 +7,6 @@ test_description='Test automatic use of a pager.' . "$TEST_DIRECTORY"/lib-terminal.sh test_expect_success 'setup' ' - : squelch advice messages during the transition && - git config --global log.mailmap false && sane_unset GIT_PAGER GIT_PAGER_IN_USE && test_unconfig core.pager && |