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 2/4] builtin/interpret-trailers: suppress blank line
Date: Sun, 10 Apr 2016 17:56:00 +0300	[thread overview]
Message-ID: <20160410175217-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <xmqq1t6h1fwk.fsf@gitster.mtv.corp.google.com>

On Thu, Apr 07, 2016 at 10:34:51AM -0700, Junio C Hamano wrote:
> "Michael S. Tsirkin" <mst@redhat.com> writes:
> 
> > No - but then I will need to re-run mailinfo to parse the result,
> > will I not?
> 
> By the way, I suspect (if Christian did his implementation right
> when he did interpret-trailers) all these points may become moot.
> 
> I haven't re-reviewed what is in interpret-trailers, but the vision
> has been that its internal workings should be callable directly into
> instead of running it via run_commands() interface passing the data
> via on-disk file.  In the codepath you touch in 3/4 and 4/4, you
> already have not just mi.log_message but msg that has the whole
> payload to create a commit object out of already, so shouldn't it be
> just the matter of passing <msg.buf, msg.len> to some API function
> that was prepared to implement interpret-trailers?

That's certainly possible, though it will need a rework
of the internal API: we currently have:

void process_trailers(const char *file, int in_place, int trim_empty,
                      int suppress_blank_line, struct string_list *trailers)
{
        struct trailer_item *in_tok_first = NULL;
        struct trailer_item *in_tok_last = NULL;
        struct trailer_item *arg_tok_first;
        struct strbuf **lines;
        int trailer_end;
        FILE *outfile = stdout;

        /* Default config must be setup first */
        git_config(git_trailer_default_config, NULL);
        git_config(git_trailer_config, NULL);

        lines = read_input_file(file);

So process_trailers can be changed to get struct strbuf ** instead.

But it seems that the output would have to go into a temporary file
anyway, unless trailer.c is completely rewritten, since it
currently does all output by writing it into a file.
Is that an issue?

-- 
MST

  reply	other threads:[~2016-04-10 14:56 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 [this message]
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
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=20160410175217-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.