path: root/commit.h
diff options
authorbrian m. carlson <>2021-02-11 02:08:04 (GMT)
committerJunio C Hamano <>2021-02-11 07:35:42 (GMT)
commit937032e14aaf1eab59c96dd78938be1c48c648e1 (patch)
treee2ce5104c34e1ea5b1fafe21ecf68d1d31eae252 /commit.h
parent482c119186987110bfccf705a5ac75d399b08766 (diff)
commit: allow parsing arbitrary buffers with headers
Currently only commits are signed with headers. However, in the future, we'll also sign tags with headers as well. Let's refactor out a function called parse_buffer_signed_by_header which does exactly that. In addition, since we'll want to sign things other than commits this way, let's call the function sign_with_header instead of do_sign_commit. Signed-off-by: brian m. carlson <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'commit.h')
1 files changed, 9 insertions, 0 deletions
diff --git a/commit.h b/commit.h
index 030aa65..e2856ce 100644
--- a/commit.h
+++ b/commit.h
@@ -360,4 +360,13 @@ int compare_commits_by_gen_then_commit_date(const void *a_, const void *b_, void
int run_commit_hook(int editor_is_used, const char *index_file, const char *name, ...);
+/* Sign a commit or tag buffer, storing the result in a header. */
+int sign_with_header(struct strbuf *buf, const char *keyid);
+/* Parse the signature out of a header. */
+int parse_buffer_signed_by_header(const char *buffer,
+ unsigned long size,
+ struct strbuf *payload,
+ struct strbuf *signature,
+ const struct git_hash_algo *algop);
#endif /* COMMIT_H */