I was planning to send you a fix pretty close to that, Thanks a lot Junio! On Wed, Dec 26, 2012 at 5:14 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Junio C Hamano <gitster@xxxxxxxxx> writes: > >> Antoine Pelisse <apelisse@xxxxxxxxx> 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; > } > -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html