Browse Source

notes: convert write_notes_tree to object_id

Convert the definition and declaration of write_notes_tree to
struct object_id and adjust usage of this function.

Additionally, improve style of small part of this function, as old
formatting made it hard to understand at glance what this part of
code is doing.

Signed-off-by: Patryk Obara <patryk.obara@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Patryk Obara 7 years ago committed by Junio C Hamano
parent
commit
bbca96d579
  1. 2
      notes-cache.c
  2. 2
      notes-utils.c
  3. 16
      notes.c
  4. 4
      notes.h

2
notes-cache.c

@ -54,7 +54,7 @@ int notes_cache_write(struct notes_cache *c) @@ -54,7 +54,7 @@ int notes_cache_write(struct notes_cache *c)
if (!c->tree.dirty)
return 0;

if (write_notes_tree(&c->tree, tree_oid.hash))
if (write_notes_tree(&c->tree, &tree_oid))
return -1;
if (commit_tree(c->validity, strlen(c->validity), &tree_oid, NULL,
&commit_oid, NULL, NULL) < 0)

2
notes-utils.c

@ -12,7 +12,7 @@ void create_notes_commit(struct notes_tree *t, struct commit_list *parents, @@ -12,7 +12,7 @@ void create_notes_commit(struct notes_tree *t, struct commit_list *parents,

assert(t->initialized);

if (write_notes_tree(t, tree_oid.hash))
if (write_notes_tree(t, &tree_oid))
die("Failed to write notes tree to database");

if (!parents) {

16
notes.c

@ -1123,11 +1123,12 @@ int for_each_note(struct notes_tree *t, int flags, each_note_fn fn, @@ -1123,11 +1123,12 @@ int for_each_note(struct notes_tree *t, int flags, each_note_fn fn,
return for_each_note_helper(t, t->root, 0, 0, flags, fn, cb_data);
}

int write_notes_tree(struct notes_tree *t, unsigned char *result)
int write_notes_tree(struct notes_tree *t, struct object_id *result)
{
struct tree_write_stack root;
struct write_each_note_data cb_data;
int ret;
int flags;

if (!t)
t = &default_notes_tree;
@ -1141,12 +1142,13 @@ int write_notes_tree(struct notes_tree *t, unsigned char *result) @@ -1141,12 +1142,13 @@ int write_notes_tree(struct notes_tree *t, unsigned char *result)
cb_data.next_non_note = t->first_non_note;

/* Write tree objects representing current notes tree */
ret = for_each_note(t, FOR_EACH_NOTE_DONT_UNPACK_SUBTREES |
FOR_EACH_NOTE_YIELD_SUBTREES,
write_each_note, &cb_data) ||
write_each_non_note_until(NULL, &cb_data) ||
tree_write_stack_finish_subtree(&root) ||
write_sha1_file(root.buf.buf, root.buf.len, tree_type, result);
flags = FOR_EACH_NOTE_DONT_UNPACK_SUBTREES |
FOR_EACH_NOTE_YIELD_SUBTREES;
ret = for_each_note(t, flags, write_each_note, &cb_data) ||
write_each_non_note_until(NULL, &cb_data) ||
tree_write_stack_finish_subtree(&root) ||
write_sha1_file(root.buf.buf, root.buf.len, tree_type,
result->hash);
strbuf_release(&root.buf);
return ret;
}

4
notes.h

@ -217,7 +217,7 @@ int for_each_note(struct notes_tree *t, int flags, each_note_fn fn, @@ -217,7 +217,7 @@ int for_each_note(struct notes_tree *t, int flags, each_note_fn fn,
* Write the given notes_tree structure to the object database
*
* Creates a new tree object encapsulating the current state of the given
* notes_tree, and stores its SHA1 into the 'result' argument.
* notes_tree, and stores its object id into the 'result' argument.
*
* Returns zero on success, non-zero on failure.
*
@ -225,7 +225,7 @@ int for_each_note(struct notes_tree *t, int flags, each_note_fn fn, @@ -225,7 +225,7 @@ int for_each_note(struct notes_tree *t, int flags, each_note_fn fn,
* this function has returned zero. Please also remember to create a
* corresponding commit object, and update the appropriate notes ref.
*/
int write_notes_tree(struct notes_tree *t, unsigned char *result);
int write_notes_tree(struct notes_tree *t, struct object_id *result);

/* Flags controlling the operation of prune */
#define NOTES_PRUNE_VERBOSE 1

Loading…
Cancel
Save