]> git.ipfire.org Git - thirdparty/git.git/commitdiff
fast-import: refactor finalize_commit_buffer()
authorChristian Couder <christian.couder@gmail.com>
Mon, 17 Nov 2025 04:34:48 +0000 (05:34 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 17 Nov 2025 04:56:35 +0000 (20:56 -0800)
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>
builtin/fast-import.c

index 54d3e592c6e46019fc4b5d885c0ccd0e9ad524b9..493de57ef67bfb4f6426290b3fe1f750a0738e9c 100644 (file)
@@ -2815,6 +2815,18 @@ static void import_one_signature(struct signature_data *sig_sha1,
                die(_("parse_one_signature() returned unknown hash algo"));
 }
 
+static void finalize_commit_buffer(struct strbuf *new_data,
+                                  struct signature_data *sig_sha1,
+                                  struct signature_data *sig_sha256,
+                                  struct strbuf *msg)
+{
+       add_gpgsig_to_commit(new_data, "gpgsig ", sig_sha1);
+       add_gpgsig_to_commit(new_data, "gpgsig-sha256 ", sig_sha256);
+
+       strbuf_addch(new_data, '\n');
+       strbuf_addbuf(new_data, msg);
+}
+
 static void parse_new_commit(const char *arg)
 {
        static struct strbuf msg = STRBUF_INIT;
@@ -2950,11 +2962,8 @@ static void parse_new_commit(const char *arg)
                        "encoding %s\n",
                        encoding);
 
-       add_gpgsig_to_commit(&new_data, "gpgsig ", &sig_sha1);
-       add_gpgsig_to_commit(&new_data, "gpgsig-sha256 ", &sig_sha256);
+       finalize_commit_buffer(&new_data, &sig_sha1, &sig_sha256, &msg);
 
-       strbuf_addch(&new_data, '\n');
-       strbuf_addbuf(&new_data, &msg);
        free(author);
        free(committer);
        free(encoding);