]>
Commit | Line | Data |
---|---|---|
49c24704 JH |
1 | #ifndef NOTES_UTILS_H |
2 | #define NOTES_UTILS_H | |
3 | ||
4 | #include "notes.h" | |
5 | ||
ef3ca954 EN |
6 | struct commit_list; |
7 | struct object_id; | |
1d18d758 | 8 | struct repository; |
ef3ca954 | 9 | |
bf9a05ba JH |
10 | /* |
11 | * Create new notes commit from the given notes tree | |
12 | * | |
13 | * Properties of the created commit: | |
14 | * - tree: the result of converting t to a tree object with write_notes_tree(). | |
15 | * - parents: the given parents OR (if NULL) the commit referenced by t->ref. | |
a316b954 | 16 | * - author/committer: the default determined by commit_tree(). |
bf9a05ba JH |
17 | * - commit message: msg |
18 | * | |
19 | * The resulting commit SHA1 is stored in result_sha1. | |
20 | */ | |
1d18d758 NTND |
21 | void create_notes_commit(struct repository *r, |
22 | struct notes_tree *t, | |
23 | struct commit_list *parents, | |
5078f344 PO |
24 | const char *msg, size_t msg_len, |
25 | struct object_id *result_oid); | |
bf9a05ba | 26 | |
1d18d758 | 27 | void commit_notes(struct repository *r, struct notes_tree *t, const char *msg); |
49c24704 | 28 | |
4d03dd18 JK |
29 | enum notes_merge_strategy { |
30 | NOTES_MERGE_RESOLVE_MANUAL = 0, | |
31 | NOTES_MERGE_RESOLVE_OURS, | |
32 | NOTES_MERGE_RESOLVE_THEIRS, | |
33 | NOTES_MERGE_RESOLVE_UNION, | |
34 | NOTES_MERGE_RESOLVE_CAT_SORT_UNIQ | |
35 | }; | |
36 | ||
49c24704 JH |
37 | struct notes_rewrite_cfg { |
38 | struct notes_tree **trees; | |
39 | const char *cmd; | |
40 | int enabled; | |
41 | combine_notes_fn combine; | |
42 | struct string_list *refs; | |
43 | int refs_from_env; | |
44 | int mode_from_env; | |
45 | }; | |
46 | ||
93efcad3 | 47 | int parse_notes_merge_strategy(const char *v, enum notes_merge_strategy *s); |
49c24704 JH |
48 | struct notes_rewrite_cfg *init_copy_notes_for_rewrite(const char *cmd); |
49 | int copy_note_for_rewrite(struct notes_rewrite_cfg *c, | |
bb7e4739 | 50 | const struct object_id *from_obj, const struct object_id *to_obj); |
1d18d758 NTND |
51 | void finish_copy_notes_for_rewrite(struct repository *r, |
52 | struct notes_rewrite_cfg *c, | |
53 | const char *msg); | |
49c24704 JH |
54 | |
55 | #endif |