object-file API: have write_object_file() take "enum object_type"
Change the write_object_file() function to take an "enum object_type" instead of a "const char *type". Its callers either passed {commit,tree,blob,tag}_type and can pass the corresponding OBJ_* type instead, or were hardcoding strings like "blob". This avoids the back & forth fragility where the callers of write_object_file() would have the enum type, and convert it themselves via type_name(). We do have to now do that conversion ourselves before calling write_object_file_prepare(), but those codepaths will be similarly adjusted in subsequent commits. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
b04cdea46c
commit
c80d226a04
8
notes.c
8
notes.c
@ -675,7 +675,7 @@ static int tree_write_stack_finish_subtree(struct tree_write_stack *tws)
|
||||
ret = tree_write_stack_finish_subtree(n);
|
||||
if (ret)
|
||||
return ret;
|
||||
ret = write_object_file(n->buf.buf, n->buf.len, tree_type, &s);
|
||||
ret = write_object_file(n->buf.buf, n->buf.len, OBJ_TREE, &s);
|
||||
if (ret)
|
||||
return ret;
|
||||
strbuf_release(&n->buf);
|
||||
@ -836,7 +836,7 @@ int combine_notes_concatenate(struct object_id *cur_oid,
|
||||
free(new_msg);
|
||||
|
||||
/* create a new blob object from buf */
|
||||
ret = write_object_file(buf, buf_len, blob_type, cur_oid);
|
||||
ret = write_object_file(buf, buf_len, OBJ_BLOB, cur_oid);
|
||||
free(buf);
|
||||
return ret;
|
||||
}
|
||||
@ -916,7 +916,7 @@ int combine_notes_cat_sort_uniq(struct object_id *cur_oid,
|
||||
string_list_join_lines_helper, &buf))
|
||||
goto out;
|
||||
|
||||
ret = write_object_file(buf.buf, buf.len, blob_type, cur_oid);
|
||||
ret = write_object_file(buf.buf, buf.len, OBJ_BLOB, cur_oid);
|
||||
|
||||
out:
|
||||
strbuf_release(&buf);
|
||||
@ -1192,7 +1192,7 @@ int write_notes_tree(struct notes_tree *t, struct object_id *result)
|
||||
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_object_file(root.buf.buf, root.buf.len, tree_type, result);
|
||||
write_object_file(root.buf.buf, root.buf.len, OBJ_TREE, result);
|
||||
strbuf_release(&root.buf);
|
||||
return ret;
|
||||
}
|
||||
|
Reference in New Issue
Block a user