From: Junio C Hamano <gitster@pobox.com>
To: Karthik Nayak <karthik.188@gmail.com>
Cc: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>,
Git <git@vger.kernel.org>,
Christian Couder <christian.couder@gmail.com>
Subject: Re: [PATCH v13 00/12] port tag.c to use ref-filter APIs
Date: Wed, 26 Aug 2015 13:19:33 -0700 [thread overview]
Message-ID: <xmqq61413iqy.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <CAOLa=ZS3Fj8EFMp+BXEomeW2PfkBJemoO2-8Tv=RBRb9xGmEyw@mail.gmail.com> (Karthik Nayak's message of "Thu, 27 Aug 2015 00:44:44 +0530")
Karthik Nayak <karthik.188@gmail.com> writes:
> On Wed, Aug 26, 2015 at 8:07 PM, Junio C Hamano <gitster@pobox.com> wrote:
>>
>> ... You can give a new format_ref_array_item()
>> that does not print but fills a strbuf to this caller, make
>> show_ref_array_item() a thin wrapper that calls it and prints it
>> with the final LF for other callers.
>>
> You're saying remove show_ref_array_item() (even the wrapper you mentioned
> above) and just have something like format_ref_array_item() which
> would output to a strbuf. and let the caller worry about the printing?
Among the current callers, the one in builtin/tag.c that wants to
trigger show_tag_lines() hack embedded in show_ref_array_item()
function can stop calling show_ref_array_item() and instead can do
for (i = 0; i < array.nr; i++) {
struct strbuf out = STRBUF_INIT;
format_ref_array_item(&out, ...);
if (filter->lines) {
... append tag lines to out ...
}
printf("%s\n", out.buf);
strbuf_reset(&out);
}
The current and future callers of show_ref_array_item() that do not
want to trigger the show_tag_liens() hack embedded in there may
still want it to print the formatted string including the trailing
LF, so you can keep show_ref_array_item() as a thin wrapper around
format_ref_array_item() for them to call, e.g.
show_ref_array_item(...) {
struct strbuf out = STRBUF_INIT;
format_ref_array_item(&out, ...);
printf("%s\n", out.buf);
strbuf_release(&out);
}
But if it has only one caller each, you may not even want to have
show_ref_array_item(), if you are going to do the "output to strbuf"
variant.
next prev parent reply other threads:[~2015-08-26 20:19 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-22 3:39 [PATCH v13 00/12] port tag.c to use ref-filter APIs Karthik Nayak
2015-08-22 3:39 ` [PATCH v13 01/12] ref-filter: move `struct atom_value` to ref-filter.c Karthik Nayak
2015-08-22 3:39 ` [PATCH v13 02/12] ref-filter: introduce ref_formatting_state and ref_formatting_stack Karthik Nayak
2015-08-24 21:56 ` Junio C Hamano
2015-08-25 10:26 ` Karthik Nayak
2015-08-22 3:39 ` [PATCH v13 03/12] utf8: add function to align a string into given strbuf Karthik Nayak
2015-08-22 3:39 ` [PATCH v13 04/12] ref-filter: implement an `align` atom Karthik Nayak
2015-08-24 22:13 ` Junio C Hamano
2015-08-24 22:15 ` Junio C Hamano
2015-08-25 13:28 ` Karthik Nayak
2015-08-25 6:47 ` Matthieu Moy
2015-08-25 13:30 ` Karthik Nayak
2015-08-25 17:56 ` Junio C Hamano
2015-08-26 6:41 ` Karthik Nayak
2015-08-25 17:52 ` Junio C Hamano
2015-08-25 13:28 ` Karthik Nayak
2015-08-22 3:39 ` [PATCH v13 05/12] ref-filter: add option to filter out tags, branches and remotes Karthik Nayak
2015-08-24 22:24 ` Junio C Hamano
2015-08-25 13:07 ` Karthik Nayak
2015-08-26 16:10 ` Michael Haggerty
2015-08-27 12:42 ` Karthik Nayak
2015-08-27 15:24 ` Michael Haggerty
2015-08-27 15:35 ` Karthik Nayak
2015-08-22 3:39 ` [PATCH v13 06/12] ref-filter: support printing N lines from tag annotation Karthik Nayak
2015-08-22 3:39 ` [PATCH v13 07/12] ref-filter: add support to sort by version Karthik Nayak
2015-08-22 3:39 ` [PATCH v13 08/12] ref-filter: add option to match literal pattern Karthik Nayak
2015-08-22 3:39 ` [PATCH v13 09/12] tag.c: use 'ref-filter' data structures Karthik Nayak
2015-08-22 3:39 ` [PATCH v13 10/12] tag.c: use 'ref-filter' APIs Karthik Nayak
2015-08-22 3:39 ` [PATCH v13 11/12] tag.c: implement '--format' option Karthik Nayak
2015-08-23 19:56 ` Matthieu Moy
2015-08-24 15:07 ` Karthik Nayak
2015-08-24 15:14 ` Matthieu Moy
2015-08-24 15:21 ` Karthik Nayak
2015-08-22 3:39 ` [PATCH v13 12/12] tag.c: implement '--merged' and '--no-merged' options Karthik Nayak
2015-08-23 20:00 ` [PATCH v13 00/12] port tag.c to use ref-filter APIs Matthieu Moy
2015-08-24 15:09 ` Karthik Nayak
2015-08-24 15:16 ` Matthieu Moy
2015-08-24 15:22 ` Karthik Nayak
2015-08-24 22:34 ` Junio C Hamano
2015-08-24 22:58 ` Junio C Hamano
2015-08-25 13:26 ` Karthik Nayak
2015-08-25 19:16 ` Junio C Hamano
2015-08-25 19:43 ` Junio C Hamano
2015-08-26 5:56 ` Karthik Nayak
2015-08-26 14:37 ` Junio C Hamano
2015-08-26 19:14 ` Karthik Nayak
2015-08-26 20:19 ` Junio C Hamano [this message]
2015-08-27 18:00 ` Karthik Nayak
2015-08-25 13:23 ` Karthik Nayak
2015-08-24 17:27 ` Junio C Hamano
2015-08-24 18:09 ` Karthik Nayak
2015-08-24 18:53 ` Junio C Hamano
2015-08-24 22:35 ` Junio C Hamano
2015-08-26 10:07 ` Karthik Nayak
2015-08-26 11:54 ` Matthieu Moy
2015-08-26 15:44 ` Junio C Hamano
2015-08-26 15:46 ` Junio C Hamano
2015-08-26 15:48 ` Matthieu Moy
2015-08-26 19:11 ` Karthik Nayak
2015-08-25 13:25 ` Karthik Nayak
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=xmqq61413iqy.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=Matthieu.Moy@grenoble-inp.fr \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=karthik.188@gmail.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.