git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3 1/3] log: add warning for unspecified log.mailmap setting

From
Ariadne Conill <ariadne@dereferenced.org>
Date
Jul 15, 2019, 12:41 UTC
Message-ID
<20190715124106.12642-2-ariadne@dereferenced.org>
In-Reply-To
<20190715124106.12642-1-ariadne@dereferenced.org>

Based on discussions around changing the log.mailmap default to being enabled, it was decided that a transitional period is required.

Accordingly, we announce this transitional period with a warning message.

Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
---
 builtin/log.c | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/builtin/log.c b/builtin/log.c
index 7c8767d3bc..1cf9e37736 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;
+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)
-- 
2.17.1
Previous: Ariadne ConillNext: Ariadne Conill
Message 2 of 4 in “document deprecation of log.mailmap=false default”
  1. 0/3 document deprecation of log.mailmap=false defaultAriadne Conill, Jul 15, 2019
  2. 1/3 log: add warning for unspecified log.mailmap settingAriadne Conill, Jul 15, 2019
  3. 2/3 documentation: mention --no-use-mailmap and log.mailmap false settingAriadne Conill, Jul 15, 2019
  4. 3/3 tests: defang pager tests by explicitly disabling the log.mailmap warningAriadne Conill, Jul 15, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.