зеркало из https://github.com/microsoft/git.git
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:
Коммит
c7cf2de8fc
|
@ -40,4 +40,5 @@ log.showSignature::
|
|||
|
||||
log.mailmap::
|
||||
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
|
||||
commit was reached.
|
||||
|
||||
--use-mailmap::
|
||||
--[no-]use-mailmap::
|
||||
Use mailmap file to map author and committer names and email
|
||||
addresses to canonical real names and email addresses. See
|
||||
linkgit:git-shortlog[1].
|
||||
|
|
|
@ -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;
|
||||
static int use_mailmap_config = -1;
|
||||
static const char *fmt_patch_subject_prefix = "PATCH";
|
||||
static const char *fmt_pretty;
|
||||
|
||||
|
@ -63,9 +63,14 @@ struct line_opt_callback_data {
|
|||
struct string_list args;
|
||||
};
|
||||
|
||||
static int session_is_interactive(void)
|
||||
{
|
||||
return isatty(1) || pager_in_use();
|
||||
}
|
||||
|
||||
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)
|
||||
|
@ -151,6 +156,16 @@ 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)
|
||||
{
|
||||
|
@ -199,6 +214,13 @@ 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)
|
||||
|
|
|
@ -7,6 +7,8 @@ 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 &&
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче