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@pobox.com> wrote:
Show 65 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
>
>> 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;
> }
>