log: add warning for unspecified log.mailmap setting
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> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ariadne Conill committed
Jul 15, 2019 at 07:41 UTC
f0596ecc8de9bdbdfc394b2f153ff67f64fc4615
1 file changed
+24
-2
builtin/log.c
+24
-2
@@ -47,7 +47,7 @@ static int default_follow;
47
static int default_show_signature;
48
static int decoration_style;
49
static int decoration_given;
50
-static int use_mailmap_config;
50
+static int use_mailmap_config = -1;
51
static const char *fmt_patch_subject_prefix = "PATCH";
52
static const char *fmt_pretty;
53
@@ -63,9 +63,14 @@ struct line_opt_callback_data {
63
struct string_list args;
64
};
65
66
+static int session_is_interactive(void)
67
+{
68
+ return isatty(1) || pager_in_use();
69
+}
70
+
71
static int auto_decoration_style(void)
72
{
68
- return (isatty(1) || pager_in_use()) ? DECORATE_SHORT_REFS : 0;
73
+ return session_is_interactive() ? DECORATE_SHORT_REFS : 0;
74
}
75
76
static int parse_decoration_style(const char *value)
@@ -151,6 +156,16 @@ static void cmd_log_init_defaults(struct rev_info *rev)
156
parse_date_format(default_date_mode, &rev->date_mode);
157
}
158
159
+static char warn_unspecified_mailmap_msg[] =
160
+N_("log.mailmap is not set; its implicit value will change in an\n"
161
+ "upcoming release. To squelch this message and preserve current\n"
162
+ "behaviour, set the log.mailmap configuration value to false.\n"
163
+ "\n"
164
+ "To squelch this message and adopt the new behaviour now, set the\n"
165
+ "log.mailmap configuration value to true.\n"
166
+ "\n"
167
+ "See 'git help config' and search for 'log.mailmap' for further information.");
168
+
169
static void cmd_log_init_finish(int argc, const char **argv, const char *prefix,
170
struct rev_info *rev, struct setup_revision_opt *opt)
171
{
@@ -199,6 +214,13 @@ static void cmd_log_init_finish(int argc, const char **argv, const char *prefix,
214
memset(&w, 0, sizeof(w));
215
userformat_find_requirements(NULL, &w);
216
217
+ if (mailmap < 0) {
218
+ if (session_is_interactive() && !rev->pretty_given)
219
+ warning("%s\n", _(warn_unspecified_mailmap_msg));
220
+
221
+ mailmap = 0;
222
+ }
223
+
224
if (!rev->show_notes_given && (!rev->pretty_given || w.notes))
225
rev->show_notes = 1;
226
if (rev->show_notes)