Re: get_maintainer.pl sends bogus addresses to git send-email

From: Joe Perches
Date: Tue Apr 07 2020 - 13:20:44 EST


On Tue, 2020-04-07 at 13:02 -0400, Jeff King wrote:
> On Tue, Apr 07, 2020 at 05:40:46PM +0200, Olaf Hering wrote:
>
> > For me sending patches via git send-email fails because email address
> > conversion is failing. Something appends a ')' to x86/lkml@xxxxxxxxxxx
> > I suspect the double '))' in MAINTAINERS is confusing the command.
> > I tried to send the trivial patch from v5.0 and v5.6 tag.
> >
> > Is this a failure in ./scripts/get_maintainer.pl,
> > or is this something git does internally?
> > I'm sure others use such command on a daily basis, so likely something on
> > my end became broken at some point in the past.
>
> It's a bug in send-email's hand-rolled address parser, which was fixed
> in bd869f67b9 (send-email: add and use a local copy of Mail::Address,
> 2018-01-05). Upgrade to Git v2.17.0 or newer.

Not really.
You need to add --norolestats on the get_maintainer command line

git send-email expects bare email addresses, not ones annotated
with additional content.


For instance:

$ ./scripts/get_maintainer.pl -f lib/vsprintf.c
Petr Mladek <pmladek@xxxxxxxx> (maintainer:VSPRINTF)
Steven Rostedt <rostedt@xxxxxxxxxxx> (maintainer:VSPRINTF)
Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> (maintainer:VSPRINTF)
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> (reviewer:VSPRINTF)
Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> (reviewer:VSPRINTF)
linux-kernel@xxxxxxxxxxxxxxx (open list)

vs:

$ ./scripts/get_maintainer.pl -f --norolestats lib/vsprintf.c
Petr Mladek <pmladek@xxxxxxxx>
Steven Rostedt <rostedt@xxxxxxxxxxx>
Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
linux-kernel@xxxxxxxxxxxxxxx