repo: Add ostree_repo_write_regfile

This API is push rather than pull, which makes it much more
suitable to use cases like parsing a tar file from external
code.

Now, we have a large mess in this area internally because
the original file writing code was pull based, but static
deltas hit the same problem of wanting a push API, so I added
this special `OstreeRepoBareContent` just for writing regular
files from a push API.

Eventually...I'd like to deprecate the pull based API,
and rework things so that for regular files the push API
is the default, and then `write_content_object()` would
be split up into archive/bare cases.

In this world the `ostree_repo_write_content()` API would
then need to hackily bridge pull to push and it'd be
less efficient.

Anyways for now due to this bifurcation, this API only
works on non-archive repositories, but that's fine for
now because that's what I want for the `ostree-ext-container`
bits.
This commit is contained in:
Colin Walters committed 2021-04-09 21:54:44 +00:00
1 parent 020f6cb652
commit 6f84aff0ae
11 files changed
+282 -8

No files matched your search

+3
View File
@@ -26,6 +26,9 @@ LIBOSTREE_2021.2 {
global:
ostree_repo_write_regfile_inline;
ostree_repo_write_symlink;
ostree_repo_write_regfile;
ostree_content_writer_get_type;
ostree_content_writer_finish;
} LIBOSTREE_2021.1;
/* Stub section for the stable release *after* this development one; don't