mirror of
https://github.com/git/git.git
synced 2026-01-11 13:23:12 +09:00
trailer: move process_trailers to trailer.h
This function would be used by trailer_process in following commits. Signed-off-by: Li Chen <chenl311@chinatelecom.cn> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
6145e03295
commit
7aeb71a516
@ -136,42 +136,6 @@ static void read_input_file(struct strbuf *sb, const char *file)
|
||||
strbuf_complete_line(sb);
|
||||
}
|
||||
|
||||
static void process_trailers(const struct process_trailer_options *opts,
|
||||
struct list_head *new_trailer_head,
|
||||
struct strbuf *sb, struct strbuf *out)
|
||||
{
|
||||
LIST_HEAD(head);
|
||||
struct trailer_block *trailer_block;
|
||||
|
||||
trailer_block = parse_trailers(opts, sb->buf, &head);
|
||||
|
||||
/* Print the lines before the trailer block */
|
||||
if (!opts->only_trailers)
|
||||
strbuf_add(out, sb->buf, trailer_block_start(trailer_block));
|
||||
|
||||
if (!opts->only_trailers && !blank_line_before_trailer_block(trailer_block))
|
||||
strbuf_addch(out, '\n');
|
||||
|
||||
if (!opts->only_input) {
|
||||
LIST_HEAD(config_head);
|
||||
LIST_HEAD(arg_head);
|
||||
parse_trailers_from_config(&config_head);
|
||||
parse_trailers_from_command_line_args(&arg_head, new_trailer_head);
|
||||
list_splice(&config_head, &arg_head);
|
||||
process_trailers_lists(&head, &arg_head);
|
||||
}
|
||||
|
||||
/* Print trailer block. */
|
||||
format_trailers(opts, &head, out);
|
||||
free_trailers(&head);
|
||||
|
||||
/* Print the lines after the trailer block as is. */
|
||||
if (!opts->only_trailers)
|
||||
strbuf_add(out, sb->buf + trailer_block_end(trailer_block),
|
||||
sb->len - trailer_block_end(trailer_block));
|
||||
trailer_block_release(trailer_block);
|
||||
}
|
||||
|
||||
static void interpret_trailers(const struct process_trailer_options *opts,
|
||||
struct list_head *new_trailer_head,
|
||||
const char *file)
|
||||
|
||||
36
trailer.c
36
trailer.c
@ -1235,3 +1235,39 @@ int amend_file_with_trailers(const char *path, const struct strvec *trailer_args
|
||||
strvec_pushv(&run_trailer.args, trailer_args->v);
|
||||
return run_command(&run_trailer);
|
||||
}
|
||||
|
||||
void process_trailers(const struct process_trailer_options *opts,
|
||||
struct list_head *new_trailer_head,
|
||||
struct strbuf *sb, struct strbuf *out)
|
||||
{
|
||||
LIST_HEAD(head);
|
||||
struct trailer_block *trailer_block;
|
||||
|
||||
trailer_block = parse_trailers(opts, sb->buf, &head);
|
||||
|
||||
/* Print the lines before the trailer block */
|
||||
if (!opts->only_trailers)
|
||||
strbuf_add(out, sb->buf, trailer_block_start(trailer_block));
|
||||
|
||||
if (!opts->only_trailers && !blank_line_before_trailer_block(trailer_block))
|
||||
strbuf_addch(out, '\n');
|
||||
|
||||
if (!opts->only_input) {
|
||||
LIST_HEAD(config_head);
|
||||
LIST_HEAD(arg_head);
|
||||
parse_trailers_from_config(&config_head);
|
||||
parse_trailers_from_command_line_args(&arg_head, new_trailer_head);
|
||||
list_splice(&config_head, &arg_head);
|
||||
process_trailers_lists(&head, &arg_head);
|
||||
}
|
||||
|
||||
/* Print trailer block. */
|
||||
format_trailers(opts, &head, out);
|
||||
free_trailers(&head);
|
||||
|
||||
/* Print the lines after the trailer block as is. */
|
||||
if (!opts->only_trailers)
|
||||
strbuf_add(out, sb->buf + trailer_block_end(trailer_block),
|
||||
sb->len - trailer_block_end(trailer_block));
|
||||
trailer_block_release(trailer_block);
|
||||
}
|
||||
|
||||
@ -202,4 +202,7 @@ void trailer_iterator_release(struct trailer_iterator *iter);
|
||||
*/
|
||||
int amend_file_with_trailers(const char *path, const struct strvec *trailer_args);
|
||||
|
||||
void process_trailers(const struct process_trailer_options *opts,
|
||||
struct list_head *new_trailer_head,
|
||||
struct strbuf *sb, struct strbuf *out);
|
||||
#endif /* TRAILER_H */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user