Top | ![]() |
![]() |
![]() |
![]() |
In-memory modifiable filesystem treeIn-memory modifiable filesystem tree — Modifiable filesystem tree |
In order to commit content into an OstreeRepo, it must first be imported into an OstreeMutableTree. There are several high level APIs to create an initiable OstreeMutableTree from a physical filesystem directory, but they may also be computed programmatically.
void ostree_mutable_tree_set_metadata_checksum (OstreeMutableTree *self
,const char *checksum
);
const char *
ostree_mutable_tree_get_metadata_checksum
(OstreeMutableTree *self
);
void ostree_mutable_tree_set_contents_checksum (OstreeMutableTree *self
,const char *checksum
);
const char *
ostree_mutable_tree_get_contents_checksum
(OstreeMutableTree *self
);
gboolean ostree_mutable_tree_replace_file (OstreeMutableTree *self
,const char *name
,const char *checksum
,GError **error
);
gboolean ostree_mutable_tree_ensure_dir (OstreeMutableTree *self
,const char *name
,OstreeMutableTree **out_subdir
,GError **error
);
gboolean ostree_mutable_tree_lookup (OstreeMutableTree *self
,const char *name
,char **out_file_checksum
,OstreeMutableTree **out_subdir
,GError **error
);
gboolean ostree_mutable_tree_ensure_parent_dirs (OstreeMutableTree *self
,GPtrArray *split_path
,const char *metadata_checksum
,OstreeMutableTree **out_parent
,GError **error
);
Create all parent trees necessary for the given split_path
to
exist.
self |
Tree |
|
split_path |
File path components. |
[element-type utf8] |
metadata_checksum |
SHA256 checksum for metadata |
|
out_parent |
The parent tree. |
[out][transfer full] |
error |
a GError |
gboolean ostree_mutable_tree_walk (OstreeMutableTree *self
,GPtrArray *split_path
,guint start
,OstreeMutableTree **out_subdir
,GError **error
);
Traverse start
number of elements starting from split_path
; the
child will be returned in out_subdir
.
self |
Tree |
|
split_path |
Split pathname. |
[element-type utf8] |
start |
Descend from this number of elements in |
|
out_subdir |
Target parent. |
[out][transfer full] |
error |
Error |
GHashTable *
ostree_mutable_tree_get_subdirs (OstreeMutableTree *self
);
GHashTable *
ostree_mutable_tree_get_files (OstreeMutableTree *self
);