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

+7
View File
@@ -165,6 +165,12 @@ ostree_check_version
ostree_commit_sizes_entry_get_type
</SECTION>
<SECTION>
<FILE>ostree-content-writer</FILE>
ostree_content_writer_get_type
ostree_content_writer_finish
</SECTION>
<SECTION>
<FILE>ostree-deployment</FILE>
OstreeDeployment
@@ -355,6 +361,7 @@ ostree_repo_write_metadata
ostree_repo_write_metadata_async
ostree_repo_write_metadata_finish
ostree_repo_write_content
ostree_repo_write_regfile
ostree_repo_write_regfile_inline
ostree_repo_write_symlink
ostree_repo_write_metadata_trusted