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:
1 parent
020f6cb652
commit
6f84aff0ae
11 files changed
+282
-8
No files matched your search
@@ -435,6 +435,16 @@ char * ostree_repo_write_regfile_inline (OstreeRepo *self,
|
||||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
OstreeContentWriter * ostree_repo_write_regfile (OstreeRepo *self,
|
||||
const char *expected_checksum,
|
||||
guint32 uid,
|
||||
guint32 gid,
|
||||
guint32 mode,
|
||||
guint64 content_len,
|
||||
GVariant *xattrs,
|
||||
GError **error);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
char * ostree_repo_write_symlink (OstreeRepo *self,
|
||||
const char *expected_checksum,
|
||||
|
||||
Reference in new issue
Block a user