On Thu, Jan 4, 2018 at 1:55 PM, Matthieu Moy <git@xxxxxxxxxxxxxxx> wrote: > We used to have two versions of the email parsing code. Our > parse_mailboxes (in Git.pm), and Mail::Address which we used if > installed. Unfortunately, both versions have different sets of bugs, and > changing the behavior of git depending on whether Mail::Address is > installed was a bad idea. > > A first attempt to solve this was cc90750 (send-email: don't use > Mail::Address, even if available, 2017-08-23), but it turns out our > parse_mailboxes is too buggy for some uses. For example the lack of > about nested comments support breaks get_maintainer.pl in the Linux s/about// > kernel tree: > > https://public-inbox.org/git/20171116154814.23785-1-alex.bennee@xxxxxxxxxx/ > > This patch goes the other way: use Mail::Address anyway, but have a > local copy as a fallback, when the system one is not available. > > The duplicated script is small (276 lines of code) and stable in time. > Maintaining the local copy should not be an issue, and will certainly be > less burden than maintaining our own parse_mailboxes. > > Another option would be to consider Mail::Address as a hard dependency, > but it's easy enough to save the trouble of extra-dependency to the end > user or packager. > > Signed-off-by: Matthieu Moy <git@xxxxxxxxxxxxxxx>