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$(echo .)com \
--cc=Matthieu.Moy@grenoble-inp$(echo .)fr \
--cc=christian.couder@gmail$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
--cc=karthik.188@gmail$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox