[PATCH] Add support for git's mailmap.

Jason A. Smith smithj4 at bnl.gov
Thu Aug 25 21:22:35 CEST 2016


On 08/24/2016 06:30 PM, John Keeping wrote:
> On Wed, Aug 24, 2016 at 05:27:31PM -0400, Jason A. Smith wrote:
>> Are you proposing to remove the angle brackets around the email address
>> everywhere in cgit strings, to match git, which I think is done in the
>> parse_user function? Then use git's map_user directly and create a
>> cgit_print_ident function that inserts the angle brackets when printed?
>> Then also making local copies of the pointers so freeing the info
>> structure doesn't break the mailmap? I think this would be a much larger
>> change beyond just supporting the mailmap.
>
> Yes, pretty much exactly this.  There's only a small number of sites
> that actually use author_email and committer_email, most of which are
> already printing something, so the fallout shouldn't be too bad.
>
> The only other cases are opening the email filter, which is why I
> suggested wrapping at least part of that process in a new function.

So how do you propose splitting the patches to accomplish this? One 
patch to add mailmap support and another patch to modify how angle 
brackets are handled in the email addresses? Which patch goes first and 
who will fix the angle brackets? Are you volunteering? ;)

I haven't done much C programming in years and wasn't familiar with 
neither the git nor cgit code, so it took me a little while to figure 
out how to add mailmap support to cgit. I did it because we recently 
added mailmap files to our local git repos to clean things up and I 
noticed that cgit wasn't using them. I just looked at the filter code a 
little and it looks a bit complicated to my novice eyes. I'm not sure 
how to patch it to just modify only email addresses passed into it. 
Another option might be to just just use another char string to wrap the 
email address in angle brackets before opening the filter in the caller 
and pass that instead?

~Jason


More information about the CGit mailing list