Merge branch 'ac/log-use-mailmap-by-default-transition'
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. * ac/log-use-mailmap-by-default-transition: tests: defang pager tests by explicitly disabling the log.mailmap warning documentation: mention --no-use-mailmap and log.mailmap false setting log: add warning for unspecified log.mailmap setting
This commit is contained in:
@ -40,4 +40,5 @@ 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`.
|
linkgit:git-whatchanged[1] assume `--use-mailmap`, otherwise
|
||||||
|
assume `--no-use-mailmap`. False by default.
|
||||||
|
@ -49,7 +49,7 @@ OPTIONS
|
|||||||
Print out the ref name given on the command line by which each
|
Print out the ref name given on the command line by which each
|
||||||
commit was reached.
|
commit was reached.
|
||||||
|
|
||||||
--use-mailmap::
|
--[no-]use-mailmap::
|
||||||
Use mailmap file to map author and committer names and email
|
Use mailmap file to map author and committer names and email
|
||||||
addresses to canonical real names and email addresses. See
|
addresses to canonical real names and email addresses. See
|
||||||
linkgit:git-shortlog[1].
|
linkgit:git-shortlog[1].
|
||||||
|
@ -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;
|
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;
|
||||||
|
|
||||||
@ -63,9 +63,14 @@ struct line_opt_callback_data {
|
|||||||
struct string_list args;
|
struct string_list args;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static int session_is_interactive(void)
|
||||||
|
{
|
||||||
|
return isatty(1) || pager_in_use();
|
||||||
|
}
|
||||||
|
|
||||||
static int auto_decoration_style(void)
|
static int auto_decoration_style(void)
|
||||||
{
|
{
|
||||||
return (isatty(1) || pager_in_use()) ? DECORATE_SHORT_REFS : 0;
|
return session_is_interactive() ? DECORATE_SHORT_REFS : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int parse_decoration_style(const char *value)
|
static int parse_decoration_style(const char *value)
|
||||||
@ -151,6 +156,16 @@ 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)
|
||||||
{
|
{
|
||||||
@ -199,6 +214,13 @@ 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)
|
||||||
|
@ -7,6 +7,8 @@ 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