path: root/notes-utils.h
diff options
authorJohan Herland <>2013-06-12 00:13:00 (GMT)
committerJunio C Hamano <>2013-06-12 17:34:59 (GMT)
commit49c2470400bbb695b953abeb4e6737be747317af (patch)
tree9a4176d76b2274b57b7ac051173353bcfb970847 /notes-utils.h
parent80a14665b199a0ccacceb095e3a8bfc4f1e8645e (diff)
Move copy_note_for_rewrite + friends from builtin/notes.c to notes-utils.c
This is a pure code movement of the machinery for copying notes to rewritten objects. This code was located in builtin/notes.c for historical reasons. In order to make it available to builtin/commit.c it was declared in builtin.h. This was more of an accident of history than a concious design, and we now want to make this machinery more widely available. Hence, this patch moves the code into the new notes-utils.[hc] files which are included into libgit.a. Except for adjusting #includes accordingly, this patch merely moves the relevant functions verbatim into the new files. Cc: Thomas Rast <> Signed-off-by: Johan Herland <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'notes-utils.h')
1 files changed, 23 insertions, 0 deletions
diff --git a/notes-utils.h b/notes-utils.h
new file mode 100644
index 0000000..0661e99
--- /dev/null
+++ b/notes-utils.h
@@ -0,0 +1,23 @@
+#ifndef NOTES_UTILS_H
+#define NOTES_UTILS_H
+#include "notes.h"
+void commit_notes(struct notes_tree *t, const char *msg);
+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;
+struct notes_rewrite_cfg *init_copy_notes_for_rewrite(const char *cmd);
+int copy_note_for_rewrite(struct notes_rewrite_cfg *c,
+ const unsigned char *from_obj, const unsigned char *to_obj);
+void finish_copy_notes_for_rewrite(struct notes_rewrite_cfg *c, const char *msg);