* [PATCH v3 1/3] log: add warning for unspecified log.mailmap setting
2019-07-15 12:41 [PATCH v3 0/3] document deprecation of log.mailmap=false default Ariadne Conill
@ 2019-07-15 12:41 ` Ariadne Conill
2019-07-15 12:41 ` [PATCH v3 2/3] documentation: mention --no-use-mailmap and log.mailmap false setting Ariadne Conill
2019-07-15 12:41 ` [PATCH v3 3/3] tests: defang pager tests by explicitly disabling the log.mailmap warning Ariadne Conill
2 siblings, 0 replies; 4+ messages in thread
From: Ariadne Conill @ 2019-07-15 12:41 UTC (permalink / raw)
To: git; +Cc: Ariadne Conill
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
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v3 2/3] documentation: mention --no-use-mailmap and log.mailmap false setting
2019-07-15 12:41 [PATCH v3 0/3] document deprecation of log.mailmap=false default Ariadne Conill
2019-07-15 12:41 ` [PATCH v3 1/3] log: add warning for unspecified log.mailmap setting Ariadne Conill
@ 2019-07-15 12:41 ` Ariadne Conill
2019-07-15 12:41 ` [PATCH v3 3/3] tests: defang pager tests by explicitly disabling the log.mailmap warning Ariadne Conill
2 siblings, 0 replies; 4+ messages in thread
From: Ariadne Conill @ 2019-07-15 12:41 UTC (permalink / raw)
To: git; +Cc: Ariadne Conill
The log.mailmap setting may be explicitly set to false, which disables
the mailmap feature implicity. In practice, doing so is equivalent to
always using the previously undocumented --no-use-mailmap option on the
command line.
Accordingly, we document both the existence of --no-use-mailmap as
well as briefly discuss the equivalence of it to log.mailmap=False.
Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
---
Documentation/config/log.txt | 3 ++-
Documentation/git-log.txt | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/Documentation/config/log.txt b/Documentation/config/log.txt
index 78d9e4453a..7798e10cb0 100644
--- a/Documentation/config/log.txt
+++ b/Documentation/config/log.txt
@@ -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.
diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt
index b02e922dc3..b406bc4c48 100644
--- a/Documentation/git-log.txt
+++ b/Documentation/git-log.txt
@@ -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].
--
2.17.1
^ permalink raw reply related [flat|nested] 4+ messages in thread