All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org,
	Christian Couder <christian.couder@gmail.com>,
	Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
Subject: Re: [PATCH 3/4] builtin/am: read mailinfo from file
Date: Thu, 7 Apr 2016 20:15:51 +0300	[thread overview]
Message-ID: <20160407201323-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <xmqqinzt1h4a.fsf@gitster.mtv.corp.google.com>

On Thu, Apr 07, 2016 at 10:08:37AM -0700, Junio C Hamano wrote:
> "Michael S. Tsirkin" <mst@redhat.com> writes:
> 
> > Slightly slower, but will allow easy additional processing on it.
> >
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> > ---
> 
> I haven't read 4/4 yet, but can guess from what this patch does that
> the next step would let others futz with the contents of the message
> that is on disk (i.e. what mailinfo() wrote out, which is identical
> to what we have in mi.log_message at this point of the codeflow)
> before you do the new strbuf_read_file().
> 
> It probably is better to do this as part of 4/4; it is easier to
> understand why this is a good and necessary thing to do.  An obvious
> improvement is to omit this extra "read back from the filesystem"
> when we won't be making any interpret-trailer calls (i.e. no -t
> option from the command line), but if we stop at this step 3/4, then
> we'd end up wasting cycles without having any benefit.

Hmm - splitting it out was easy for development since I could verify all
tests pass.  But if you do want the optimization, then sure, I'll have
to squash it in.

> >  builtin/am.c | 9 ++++++++-
> >  1 file changed, 8 insertions(+), 1 deletion(-)
> >
> > diff --git a/builtin/am.c b/builtin/am.c
> > index d003939..4180b04 100644
> > --- a/builtin/am.c
> > +++ b/builtin/am.c
> > @@ -1246,6 +1246,7 @@ static int parse_mail(struct am_state *state, const char *mail)
> >  	FILE *fp;
> >  	struct strbuf sb = STRBUF_INIT;
> >  	struct strbuf msg = STRBUF_INIT;
> > +	struct strbuf log_msg = STRBUF_INIT;
> >  	struct strbuf author_name = STRBUF_INIT;
> >  	struct strbuf author_date = STRBUF_INIT;
> >  	struct strbuf author_email = STRBUF_INIT;
> > @@ -1330,7 +1331,12 @@ static int parse_mail(struct am_state *state, const char *mail)
> >  	}
> >  
> >  	strbuf_addstr(&msg, "\n\n");
> > -	strbuf_addbuf(&msg, &mi.log_message);
> > +
> > +	if (strbuf_read_file(&log_msg,  am_path(state, "msg"), 0) < 0) {
> > +		die_errno(_("could not read '%s'"), am_path(state, "msg"));
> > +	}
> 
> I do not think these {} serve any purpose; drop them?
> 
> > +
> > +	strbuf_addbuf(&msg, &log_msg);
> >  	strbuf_stripspace(&msg, 0);
> >  
> >  	if (state->signoff)
> > @@ -1349,6 +1355,7 @@ static int parse_mail(struct am_state *state, const char *mail)
> >  	state->msg = strbuf_detach(&msg, &state->msg_len);
> >  
> >  finish:
> > +	strbuf_release(&log_msg);
> >  	strbuf_release(&msg);
> >  	strbuf_release(&author_date);
> >  	strbuf_release(&author_email);

  reply	other threads:[~2016-04-07 17:16 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-07 15:23 [PATCH 0/4] git-am: use trailers to add extra signatures Michael S. Tsirkin
2016-04-07 15:23 ` [PATCH 1/4] builtin/interpret-trailers.c: allow -t Michael S. Tsirkin
2016-04-07 16:55   ` Junio C Hamano
2016-04-07 17:17     ` Matthieu Moy
2016-04-07 17:26       ` Junio C Hamano
2016-04-07 17:30         ` Michael S. Tsirkin
2016-04-07 17:28     ` Michael S. Tsirkin
2016-04-07 17:30       ` Junio C Hamano
2016-04-07 17:52         ` Michael S. Tsirkin
2016-04-07 17:56           ` Junio C Hamano
2016-04-07 15:23 ` [PATCH 2/4] builtin/interpret-trailers: suppress blank line Michael S. Tsirkin
2016-04-07 17:00   ` Junio C Hamano
2016-04-07 17:21     ` Junio C Hamano
2016-04-07 17:21     ` Michael S. Tsirkin
2016-04-07 17:34       ` Junio C Hamano
2016-04-10 14:56         ` Michael S. Tsirkin
2016-04-07 17:35   ` Matthieu Moy
2016-04-07 15:23 ` [PATCH 3/4] builtin/am: read mailinfo from file Michael S. Tsirkin
2016-04-07 17:08   ` Junio C Hamano
2016-04-07 17:15     ` Michael S. Tsirkin [this message]
2016-04-07 17:36   ` Matthieu Moy
2016-04-07 15:23 ` [PATCH 4/4] builtin/am: passthrough -t and --trailer flags Michael S. Tsirkin
2016-04-07 16:39   ` Christian Couder

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160407201323-mutt-send-email-mst@redhat.com \
    --to=mst@redhat.com \
    --cc=Matthieu.Moy@grenoble-inp.fr \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.