summaryrefslogtreecommitdiff
path: root/notes-utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'notes-utils.c')
-rw-r--r--notes-utils.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/notes-utils.c b/notes-utils.c
index 02407fe2a7..4bf4888d8c 100644
--- a/notes-utils.c
+++ b/notes-utils.c
@@ -3,8 +3,11 @@
#include "commit.h"
#include "refs.h"
#include "notes-utils.h"
+#include "repository.h"
-void create_notes_commit(struct notes_tree *t, struct commit_list *parents,
+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)
{
@@ -19,7 +22,7 @@ void create_notes_commit(struct notes_tree *t, struct commit_list *parents,
/* Deduce parent commit from t->ref */
struct object_id parent_oid;
if (!read_ref(t->ref, &parent_oid)) {
- struct commit *parent = lookup_commit(&parent_oid);
+ struct commit *parent = lookup_commit(r, &parent_oid);
if (parse_commit(parent))
die("Failed to find/parse commit %s", t->ref);
commit_list_insert(parent, &parents);
@@ -32,7 +35,7 @@ void create_notes_commit(struct notes_tree *t, struct commit_list *parents,
die("Failed to commit notes tree to database");
}
-void commit_notes(struct notes_tree *t, const char *msg)
+void commit_notes(struct repository *r, struct notes_tree *t, const char *msg)
{
struct strbuf buf = STRBUF_INIT;
struct object_id commit_oid;
@@ -48,8 +51,8 @@ void commit_notes(struct notes_tree *t, const char *msg)
strbuf_addstr(&buf, msg);
strbuf_complete_line(&buf);
- create_notes_commit(t, NULL, buf.buf, buf.len, &commit_oid);
- strbuf_insert(&buf, 0, "notes: ", 7); /* commit message starts at index 7 */
+ create_notes_commit(r, t, NULL, buf.buf, buf.len, &commit_oid);
+ strbuf_insertstr(&buf, 0, "notes: ");
update_ref(buf.buf, t->update_ref, &commit_oid, NULL, 0,
UPDATE_REFS_DIE_ON_ERR);
@@ -169,11 +172,13 @@ int copy_note_for_rewrite(struct notes_rewrite_cfg *c,
return ret;
}
-void finish_copy_notes_for_rewrite(struct notes_rewrite_cfg *c, const char *msg)
+void finish_copy_notes_for_rewrite(struct repository *r,
+ struct notes_rewrite_cfg *c,
+ const char *msg)
{
int i;
for (i = 0; c->trees[i]; i++) {
- commit_notes(c->trees[i], msg);
+ commit_notes(r, c->trees[i], msg);
free_notes(c->trees[i]);
}
free(c->trees);