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

Re: [PATCH 2/2] log: add log.mailmap configuration option

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 26, 2012, 16:14 UTC
Message-ID
<7vlickpz81.fsf@alter.siamese.dyndns.org>
In-Reply-To
<7v8v8ppf6f.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 11 quoted lines
> Antoine Pelisse <apelisse@gmail.com> writes:
>
>> I'm wondering if it would be needed to add a no-use-mailmap option to
>> log command so that it can cancel this configuration option.
>
> The usual way for adding a new feature is to add a --enable-feature
> long-option without any configuration variable to let users try it
> out in the field, and then add the configuration to let it be
> default for users who opt in.  The first step should also allow a
> command line option to disable (which should come for free if you
> use parse-options API correctly).

It should be sufficient to squash something like this in. Use the configured value, if available, to initialize the existing "mailmap" variable, which is in turn updated from the command line option with either --use-mailmap or --no-use-mailmap. What is left in "mailmap" after the command line parsing returns is what the user told us to use.

Thanks.
 builtin/log.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/builtin/log.c b/builtin/log.c
index f6936ff..16e6520 100644
--- a/builtin/log.c
+++ b/builtin/log.c
@@ -31,7 +31,7 @@ static int default_abbrev_commit;
 static int default_show_root = 1;
 static int decoration_style;
 static int decoration_given;
-static int use_mailmap;
+static int use_mailmap_config;
 static const char *fmt_patch_subject_prefix = "PATCH";
 static const char *fmt_pretty;
 
@@ -107,6 +107,7 @@ static void cmd_log_init_finish(int argc, const char **argv, const char *prefix,
 		OPT_END()
 	};
 
+	mailmap = use_mailmap_config;
 	argc = parse_options(argc, argv, prefix,
 			     builtin_log_options, builtin_log_usage,
 			     PARSE_OPT_KEEP_ARGV0 | PARSE_OPT_KEEP_UNKNOWN |
@@ -139,7 +140,7 @@ static void cmd_log_init_finish(int argc, const char **argv, const char *prefix,
 	if (source)
 		rev->show_source = 1;
 
-	if (mailmap || use_mailmap) {
+	if (mailmap) {
 		rev->mailmap = xcalloc(1, sizeof(struct string_list));
 		read_mailmap(rev->mailmap, NULL);
 	}
@@ -360,7 +361,7 @@ static int git_log_config(const char *var, const char *value, void *cb)
 	if (!prefixcmp(var, "color.decorate."))
 		return parse_decorate_color_config(var, 15, value);
 	if (!strcmp(var, "log.mailmap")) {
-		use_mailmap = git_config_bool(var, value);
+		use_mailmap_config = git_config_bool(var, value);
 		return 0;
 	}
 
Previous: Junio C HamanoNext: Antoine Pelisse
Message 14 of 15 in “Mailmap in log improvements”
  1. 0/2 Mailmap in log improvementsAntoine Pelisse, Dec 22, 2012
  2. 1/2 log: grep author/committer using mailmapAntoine Pelisse, Dec 22, 2012
  3. Junio C HamanoDec 26, 2012
  4. Antoine PelisseDec 26, 2012
  5. Junio C HamanoDec 26, 2012
  6. log: grep author/committer using mailmapAntoine Pelisse, Dec 27, 2012
  7. Junio C HamanoDec 27, 2012
  8. Junio C HamanoDec 27, 2012
  9. Antoine PelisseDec 28, 2012
  10. Junio C HamanoDec 28, 2012
  11. Antoine PelisseDec 28, 2012
  12. 2/2 log: add log.mailmap configuration optionAntoine Pelisse, Dec 22, 2012
  13. Junio C HamanoDec 23, 2012
  14. Junio C HamanoDec 26, 2012
  15. Antoine PelisseDec 26, 2012

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.