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 <gits...@pobox.com> wrote:
> Junio C Hamano <gits...@pobox.com> writes:
>
>> Antoine Pelisse <apeli...@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;
>         }
>
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to