trailer: finish formatting unification

Rename format_trailer_info() to format_trailers(). Finally, both
interpret-trailers and format_trailers_from_commit() can call
"format_trailers()"!

Update the comment in <trailer.h> to remove the (now obsolete) caveats
about format_trailers_from_commit(). Those caveats come from
a388b10fc1 (pretty: move trailer formatting to trailer.c, 2017-08-15)
where it says:

    pretty: move trailer formatting to trailer.c

    The next commit will add many features to the %(trailer)
    placeholder in pretty.c. We'll need to access some internal
    functions of trailer.c for that, so our options are either:

      1. expose those functions publicly

    or

      2. make an entry point into trailer.c to do the formatting

    Doing (2) ends up exposing less surface area, though do note
    that caveats in the docstring of the new function.

which suggests format_trailers_from_commit() started out from pretty.c
and did not have access to all of the trailer implementation internals,
and was never intended to replace (unify) the formatting machinery in
trailer.c. The refactors leading up to this commit (as well as
additional refactors that will follow) expose additional functions
publicly, and is therefore choosing option (1) as described in
a388b10fc1.

Signed-off-by: Linus Arver <linusa@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Linus Arver
2024-03-15 06:55:05 +00:00
committed by Junio C Hamano
parent 676c1db76e
commit 3452d17324
3 changed files with 9 additions and 16 deletions

View File

@@ -171,7 +171,7 @@ static void interpret_trailers(const struct process_trailer_options *opts,
} }
/* Print trailer block. */ /* Print trailer block. */
format_trailer_info(opts, &head, &trailer_block); format_trailers(opts, &head, &trailer_block);
free_trailers(&head); free_trailers(&head);
fwrite(trailer_block.buf, 1, trailer_block.len, outfile); fwrite(trailer_block.buf, 1, trailer_block.len, outfile);
strbuf_release(&trailer_block); strbuf_release(&trailer_block);

View File

@@ -1052,7 +1052,7 @@ void trailer_info_release(struct trailer_info *info)
free(info->trailers); free(info->trailers);
} }
void format_trailer_info(const struct process_trailer_options *opts, void format_trailers(const struct process_trailer_options *opts,
struct list_head *trailers, struct list_head *trailers,
struct strbuf *out) struct strbuf *out)
{ {
@@ -1128,7 +1128,7 @@ void format_trailers_from_commit(const struct process_trailer_options *opts,
strbuf_add(out, msg + info.trailer_block_start, strbuf_add(out, msg + info.trailer_block_start,
info.trailer_block_end - info.trailer_block_start); info.trailer_block_end - info.trailer_block_start);
} else } else
format_trailer_info(opts, &trailer_objects, out); format_trailers(opts, &trailer_objects, out);
free_trailers(&trailer_objects); free_trailers(&trailer_objects);
trailer_info_release(&info); trailer_info_release(&info);

View File

@@ -101,23 +101,16 @@ void trailer_info_get(const struct process_trailer_options *,
void trailer_info_release(struct trailer_info *info); void trailer_info_release(struct trailer_info *info);
void trailer_config_init(void); void trailer_config_init(void);
void format_trailer_info(const struct process_trailer_options *, void format_trailers(const struct process_trailer_options *,
struct list_head *trailers, struct list_head *trailers,
struct strbuf *out); struct strbuf *out);
void free_trailers(struct list_head *); void free_trailers(struct list_head *);
/* /*
* Format the trailers from the commit msg "msg" into the strbuf "out". * Convenience function to format the trailers from the commit msg "msg" into
* Note two caveats about "opts": * the strbuf "out". Reuses format_trailers() internally.
*
* - this is primarily a helper for pretty.c, and not
* all of the flags are supported.
*
* - this differs from process_trailers slightly in that we always format
* only the trailer block itself, even if the "only_trailers" option is not
* set.
*/ */
void format_trailers_from_commit(const struct process_trailer_options *opts, void format_trailers_from_commit(const struct process_trailer_options *,
const char *msg, const char *msg,
struct strbuf *out); struct strbuf *out);