From c8bae7493d2f2910b57f13ded012e86bdcfb0532 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 16:47:53 +0200 Subject: Adding upstream version 1:2.39.2. Signed-off-by: Daniel Baumann --- notes-utils.h | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 notes-utils.h (limited to 'notes-utils.h') diff --git a/notes-utils.h b/notes-utils.h new file mode 100644 index 0000000..d9b3c09 --- /dev/null +++ b/notes-utils.h @@ -0,0 +1,55 @@ +#ifndef NOTES_UTILS_H +#define NOTES_UTILS_H + +#include "notes.h" + +struct commit_list; +struct object_id; +struct repository; + +/* + * Create new notes commit from the given notes tree + * + * Properties of the created commit: + * - tree: the result of converting t to a tree object with write_notes_tree(). + * - parents: the given parents OR (if NULL) the commit referenced by t->ref. + * - author/committer: the default determined by commit_tree(). + * - commit message: msg + * + * The resulting commit SHA1 is stored in result_sha1. + */ +void create_notes_commit(struct repository *r, + struct notes_tree *t, + struct commit_list *parents, + const char *msg, size_t msg_len, + struct object_id *result_oid); + +void commit_notes(struct repository *r, struct notes_tree *t, const char *msg); + +enum notes_merge_strategy { + NOTES_MERGE_RESOLVE_MANUAL = 0, + NOTES_MERGE_RESOLVE_OURS, + NOTES_MERGE_RESOLVE_THEIRS, + NOTES_MERGE_RESOLVE_UNION, + NOTES_MERGE_RESOLVE_CAT_SORT_UNIQ +}; + +struct notes_rewrite_cfg { + struct notes_tree **trees; + const char *cmd; + int enabled; + combine_notes_fn combine; + struct string_list *refs; + int refs_from_env; + int mode_from_env; +}; + +int parse_notes_merge_strategy(const char *v, enum notes_merge_strategy *s); +struct notes_rewrite_cfg *init_copy_notes_for_rewrite(const char *cmd); +int copy_note_for_rewrite(struct notes_rewrite_cfg *c, + const struct object_id *from_obj, const struct object_id *to_obj); +void finish_copy_notes_for_rewrite(struct repository *r, + struct notes_rewrite_cfg *c, + const char *msg); + +#endif -- cgit v1.2.3