[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?
More information about the CGit