fast-import: refactor finalize_commit_buffer()

In a following commit we are going to finalize commit buffers with or without signatures in order to check the signatures and possibly drop them. To do so easily and without duplication, let's refactor the current code that finalizes commit buffers into a new finalize_commit_buffer() function. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Christian Couder committed Nov 17, 2025 at 05:34 UTC 388517c14ce62e1c52b091af862bbaf28dbabb7a
1 file changed +13 -4
builtin/fast-import.c
+13 -4
@@ -2815,6 +2815,18 @@ static void import_one_signature(struct signature_data *sig_sha1,
2815 die(_("parse_one_signature() returned unknown hash algo"));
2816 }
2817
2818 +static void finalize_commit_buffer(struct strbuf *new_data,
2819 + struct signature_data *sig_sha1,
2820 + struct signature_data *sig_sha256,
2821 + struct strbuf *msg)
2822 +{
2823 + add_gpgsig_to_commit(new_data, "gpgsig ", sig_sha1);
2824 + add_gpgsig_to_commit(new_data, "gpgsig-sha256 ", sig_sha256);
2825 +
2826 + strbuf_addch(new_data, '\n');
2827 + strbuf_addbuf(new_data, msg);
2828 +}
2829 +
2830 static void parse_new_commit(const char *arg)
2831 {
2832 static struct strbuf msg = STRBUF_INIT;
@@ -2950,11 +2962,8 @@ static void parse_new_commit(const char *arg)
2962 "encoding %s\n",
2963 encoding);
2964
2953 - add_gpgsig_to_commit(&new_data, "gpgsig ", &sig_sha1);
2954 - add_gpgsig_to_commit(&new_data, "gpgsig-sha256 ", &sig_sha256);
2965 + finalize_commit_buffer(&new_data, &sig_sha1, &sig_sha256, &msg);
2966
2956 - strbuf_addch(&new_data, '\n');
2957 - strbuf_addbuf(&new_data, &msg);
2967 free(author);
2968 free(committer);
2969 free(encoding);