Re: [PATCH] blame: add blame.showemail config option
Eric Sunshine <sunshine@sunshineco.com> writes:
Show 15 quoted lines
> Right. Rather than having a separate global 'show_email' variable and
> consulting that variable in parallel with OUTPUT_SHOW_EMAIL throughout
> the code, instead set the OUTPUT_SHOW_EMAIL bit in git_blame_config().
> To do this, take advantage of the "callback data" argument of
> git_config(), which will arrive in git_blame_config() as its 'void
> *cb' argument. So, for instance, something like this:
>
> static int git_blame_config(var, value, void *cb)
> {
> ...
> if (!strcmp(var, "blame.showemail")) {
> if (git_config_bool(var, value)) {
> int *output_options = cb;
> *output_options |= OUTPUT_SHOW_EMAIL;
> }Don't forget to clear the bit when the bool is set to false, too.
Show 13 quoted lines
> return 0;
> }
> ...
> }
>
> int cmd_blame(...)
> {
> ...
> git_config(git_blame_config, &output_options);
> ...
> parse_options(...);
> ...
> }