mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
odb: introduce odb_write_object()
We do not have a backend-agnostic way to write objects into an object database. While there is `write_object_file()`, this function is rather specific to the loose object format. Introduce `odb_write_object()` to plug this gap. For now, this function is a simple wrapper around `write_object_file()` and doesn't even use the passed-in object database yet. This will change in subsequent commits, where `write_object_file()` is converted so that it works on top of an `odb_source`. `odb_write_object()` will then become responsible for deciding which source an object shall be written to. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
0f9b189357
commit
ab1c6e1d12
@@ -2216,8 +2216,8 @@ static int handle_content_merge(struct merge_options *opt,
|
||||
}
|
||||
|
||||
if (!ret && record_object &&
|
||||
write_object_file(result_buf.ptr, result_buf.size,
|
||||
OBJ_BLOB, &result->oid)) {
|
||||
odb_write_object(the_repository->objects, result_buf.ptr, result_buf.size,
|
||||
OBJ_BLOB, &result->oid)) {
|
||||
path_msg(opt, ERROR_OBJECT_WRITE_FAILED, 0,
|
||||
pathnames[0], pathnames[1], pathnames[2], NULL,
|
||||
_("error: unable to add %s to database"), path);
|
||||
@@ -3772,7 +3772,8 @@ static int write_tree(struct object_id *result_oid,
|
||||
}
|
||||
|
||||
/* Write this object file out, and record in result_oid */
|
||||
if (write_object_file(buf.buf, buf.len, OBJ_TREE, result_oid))
|
||||
if (odb_write_object(the_repository->objects, buf.buf,
|
||||
buf.len, OBJ_TREE, result_oid))
|
||||
ret = -1;
|
||||
strbuf_release(&buf);
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user