aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Couder <christian.couder@gmail.com>2025-11-17 05:34:48 +0100
committerJunio C Hamano <gitster@pobox.com>2025-11-16 20:56:35 -0800
commit388517c14ce62e1c52b091af862bbaf28dbabb7a (patch)
tree0ddaccca31309e26d4040cadb088f01d2ad1f55d
parent4cf919bd7b946477798af5414a371b23fd68bf93 (diff)
downloadgit-388517c14ce62e1c52b091af862bbaf28dbabb7a.tar.xz
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>
-rw-r--r--builtin/fast-import.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/builtin/fast-import.c b/builtin/fast-import.c
index 54d3e592c6..493de57ef6 100644
--- a/builtin/fast-import.c
+++ b/builtin/fast-import.c
@@ -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);