Merge branch 'jc/log-mailmap-flip-defaults'
Hotfix for making "git log" use the mailmap by default. * jc/log-mailmap-flip-defaults: log: really flip the --mailmap default log: flip the --mailmap default unconditionally
This commit is contained in:
@ -10,6 +10,9 @@ Backward compatibility note
|
|||||||
prerequisite patches in an unstable way, which has been updated to
|
prerequisite patches in an unstable way, which has been updated to
|
||||||
compute in a way that is compatible with "git patch-id --stable".
|
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
|
UI, Workflows & Features
|
||||||
|
|
||||||
@ -91,11 +94,6 @@ UI, Workflows & Features
|
|||||||
commit-graph files now, which allows the commit-graph files to be
|
commit-graph files now, which allows the commit-graph files to be
|
||||||
updated incrementally.
|
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
|
* "git range-diff" output has been tweaked for easier identification
|
||||||
of which part of what file the patch shown is about.
|
of which part of what file the patch shown is about.
|
||||||
|
|
||||||
|
@ -41,4 +41,4 @@ log.showSignature::
|
|||||||
log.mailmap::
|
log.mailmap::
|
||||||
If true, makes linkgit:git-log[1], linkgit:git-show[1], and
|
If true, makes linkgit:git-log[1], linkgit:git-show[1], and
|
||||||
linkgit:git-whatchanged[1] assume `--use-mailmap`, otherwise
|
linkgit:git-whatchanged[1] assume `--use-mailmap`, otherwise
|
||||||
assume `--no-use-mailmap`. False by default.
|
assume `--no-use-mailmap`. True by default.
|
||||||
|
@ -47,7 +47,7 @@ static int default_follow;
|
|||||||
static int default_show_signature;
|
static int default_show_signature;
|
||||||
static int decoration_style;
|
static int decoration_style;
|
||||||
static int decoration_given;
|
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_patch_subject_prefix = "PATCH";
|
||||||
static const char *fmt_pretty;
|
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);
|
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,
|
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, mailmap = 0;
|
int quiet = 0, source = 0, mailmap;
|
||||||
static struct line_opt_callback_data line_cb = {NULL, NULL, STRING_LIST_INIT_DUP};
|
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_exclude = STRING_LIST_INIT_NODUP;
|
||||||
static struct string_list decorate_refs_include = 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));
|
memset(&w, 0, sizeof(w));
|
||||||
userformat_find_requirements(NULL, &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))
|
if (!rev->show_notes_given && (!rev->pretty_given || w.notes))
|
||||||
rev->show_notes = 1;
|
rev->show_notes = 1;
|
||||||
if (rev->show_notes)
|
if (rev->show_notes)
|
||||||
|
@ -442,6 +442,34 @@ test_expect_success 'Log output with log.mailmap' '
|
|||||||
test_cmp expect actual
|
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
|
cat >expect <<\EOF
|
||||||
Author: Santa Claus <santa.claus@northpole.xx>
|
Author: Santa Claus <santa.claus@northpole.xx>
|
||||||
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_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' '
|
test_expect_success 'Only grep replaced author with --use-mailmap' '
|
||||||
git log --use-mailmap --author "<cto@coompany.xx>" >actual &&
|
git log --use-mailmap --author "<cto@coompany.xx>" >actual &&
|
||||||
test_must_be_empty actual
|
test_must_be_empty actual
|
||||||
|
@ -7,8 +7,6 @@ test_description='Test automatic use of a pager.'
|
|||||||
. "$TEST_DIRECTORY"/lib-terminal.sh
|
. "$TEST_DIRECTORY"/lib-terminal.sh
|
||||||
|
|
||||||
test_expect_success 'setup' '
|
test_expect_success 'setup' '
|
||||||
: squelch advice messages during the transition &&
|
|
||||||
git config --global log.mailmap false &&
|
|
||||||
sane_unset GIT_PAGER GIT_PAGER_IN_USE &&
|
sane_unset GIT_PAGER GIT_PAGER_IN_USE &&
|
||||||
test_unconfig core.pager &&
|
test_unconfig core.pager &&
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user