]>
Commit | Line | Data |
---|---|---|
a97a7468 JS |
1 | #ifndef NOTES_H |
2 | #define NOTES_H | |
3 | ||
709f79b0 JH |
4 | /* |
5 | * Flags controlling behaviour of notes tree initialization | |
6 | * | |
7 | * Default behaviour is to initialize the notes tree from the tree object | |
8 | * specified by the given (or default) notes ref. | |
9 | */ | |
10 | #define NOTES_INIT_EMPTY 1 | |
11 | ||
12 | /* | |
13 | * Initialize internal notes tree structure with the notes tree at the given | |
14 | * ref. If given ref is NULL, the value of the $GIT_NOTES_REF environment | |
15 | * variable is used, and if that is missing, the default notes ref is used | |
16 | * ("refs/notes/commits"). | |
17 | * | |
18 | * If you need to re-intialize the internal notes tree structure (e.g. loading | |
19 | * from a different notes ref), please first de-initialize the current notes | |
20 | * tree by calling free_notes(). | |
21 | */ | |
22 | void init_notes(const char *notes_ref, int flags); | |
23 | ||
2626b536 JH |
24 | /* Add the given note object to the internal notes tree structure */ |
25 | void add_note(const unsigned char *object_sha1, | |
26 | const unsigned char *note_sha1); | |
27 | ||
27d57564 JH |
28 | /* Free (and de-initialize) the internal notes tree structure */ |
29 | void free_notes(void); | |
30 | ||
a7e7eff6 | 31 | /* Flags controlling how notes are formatted */ |
c56fcc89 JH |
32 | #define NOTES_SHOW_HEADER 1 |
33 | #define NOTES_INDENT 2 | |
34 | ||
a7e7eff6 JH |
35 | /* |
36 | * Fill the given strbuf with the notes associated with the given object. | |
37 | * | |
38 | * If the internal notes structure is not initialized, it will be auto- | |
39 | * initialized to the default value (see documentation for init_notes() above). | |
40 | * | |
41 | * 'flags' is a bitwise combination of the above formatting flags. | |
42 | */ | |
43 | void format_note(const unsigned char *object_sha1, struct strbuf *sb, | |
c56fcc89 | 44 | const char *output_encoding, int flags); |
a97a7468 JS |
45 | |
46 | #endif |