You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.5 KiB
55 lines
1.5 KiB
#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
|
|
|