7 * Create new notes commit from the given notes tree
9 * Properties of the created commit:
10 * - tree: the result of converting t to a tree object with write_notes_tree().
11 * - parents: the given parents OR (if NULL) the commit referenced by t->ref.
12 * - author/committer: the default determined by commit_tree().
13 * - commit message: msg
15 * The resulting commit SHA1 is stored in result_sha1.
17 void create_notes_commit(struct notes_tree
*t
, struct commit_list
*parents
,
18 const char *msg
, size_t msg_len
, unsigned char *result_sha1
);
20 void commit_notes(struct notes_tree
*t
, const char *msg
);
22 enum notes_merge_strategy
{
23 NOTES_MERGE_RESOLVE_MANUAL
= 0,
24 NOTES_MERGE_RESOLVE_OURS
,
25 NOTES_MERGE_RESOLVE_THEIRS
,
26 NOTES_MERGE_RESOLVE_UNION
,
27 NOTES_MERGE_RESOLVE_CAT_SORT_UNIQ
30 struct notes_rewrite_cfg
{
31 struct notes_tree
**trees
;
34 combine_notes_fn combine
;
35 struct string_list
*refs
;
40 int parse_notes_merge_strategy(const char *v
, enum notes_merge_strategy
*s
);
41 struct notes_rewrite_cfg
*init_copy_notes_for_rewrite(const char *cmd
);
42 int copy_note_for_rewrite(struct notes_rewrite_cfg
*c
,
43 const unsigned char *from_obj
, const unsigned char *to_obj
);
44 void finish_copy_notes_for_rewrite(struct notes_rewrite_cfg
*c
, const char *msg
);