Re: [WIP-PATCH 1/2] send-email: create email parser subroutine
- From
- Samuel GROOT <samuel.groot@grenoble-inp.org>
- Date
- Jun 2, 2016, 16:57 UTC
- Message-ID
- <9535d962-5479-5a13-472e-cd558ef163e0@grenoble-inp.org>
- In-Reply-To
- <20160528233329.GA1132@dcvr.yhbt.net>
On 05/29/2016 01:33 AM, Eric Wong wrote:
Show 18 quoted lines
> Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> wrote: >> Samuel GROOT <samuel.groot@grenoble-inp.org> writes: >> >>> Parsing and processing in send-email is done in the same loop. >>> >>> To make the code more maintainable, we create two subroutines: >>> - `parse_email` to separate header and body >>> - `parse_header` to retrieve data from header >> >> These routines are not specific to git send-email, nor to Git. >> >> Does it make sense to use an external library, like >> http://search.cpan.org/~rjbs/Email-Simple-2.210/lib/Email/Simple.pm , >> either by depending on it, or by copying it in Git's source tree ? > > That might be overkill and increase installation/maintenance > burden. Bundling it would probably be problematic to distros, > too.
We have 5 solutions here:
1. Make a new dependence to Email::Simple.
2. Bundle Email::Simple in Git's source tree.
3. Use Email::Simple if installed, else use our library.
4. Making our own email parser library.
5. Duplicate parser loop as we did for our patch to implement
`--quote-email` as proposed in $gmane/295772 .Obviously, option (5) is the easiest one for us, but it leaves refactoring for later, and option (1) is also easier but adds a new dependence which is not that good.
Since our project ends next week, we might not have enough time to finish developing a custom parser API so (4) is not a viable option for now but could be done in the future.
We could consider bundling Email::Simple as the best option, as it's developed since 2003 and might be safer to use than anything we could write in several weeks.