From: Hariom Verma <hariom18599@xxxxxxxxx> We might always need a `\n` at end of line in the case of `git for-each-ref`. But as we intend to use ref-filter's logic in pretty, having an option to skip `\n` will be useful. Mentored-by: Christian Couder <chriscool@xxxxxxxxxxxxx> Mentored-by: Heba Waly <heba.waly@xxxxxxxxx> Signed-off-by: Hariom Verma <hariom18599@xxxxxxxxx> --- ref-filter.c | 3 ++- ref-filter.h | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ref-filter.c b/ref-filter.c index bf7b70299b4..0e2fecbda4c 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -2410,7 +2410,8 @@ void show_ref_array_item(struct ref_array_item *info, fwrite(final_buf.buf, 1, final_buf.len, stdout); strbuf_release(&error_buf); strbuf_release(&final_buf); - putchar('\n'); + if(format->need_newline_at_eol) + putchar('\n'); } void pretty_print_ref(const char *name, const struct object_id *oid, diff --git a/ref-filter.h b/ref-filter.h index 8ecc33cdfa5..410446dc412 100644 --- a/ref-filter.h +++ b/ref-filter.h @@ -81,11 +81,13 @@ struct ref_format { int quote_style; int use_color; + int need_newline_at_eol; + /* Internal state to ref-filter */ int need_color_reset_at_eol; }; -#define REF_FORMAT_INIT { NULL, 0, -1 } +#define REF_FORMAT_INIT { NULL, 0, -1, 1 } /* Macros for checking --merged and --no-merged options */ #define _OPT_MERGED_NO_MERGED(option, filter, h) \ -- gitgitgadget