Expand description
Re-export shim over memstead_base::storage (the MemWriter trait
and MemWriterError) plus the git-tree adapter that stays in
this crate.
The git-tree adapter (git_tree::GitTreeMemWriter) buffers
mutations and applies them via gix::object::tree::Editor against a
multi-root mem-repo-git repository, one branch per mem.
Modules§
- git_
tree - Git-tree-backed
MemWriter— the second storage adapter. Buffers mutations in memory and applies them to a tree built viagix::object::tree::Editor, then advances the target ref viagix::Repository::commit_as.
Enums§
- MemWriter
Error - Errors surfaced by
MemWriter.
Constants§
- FULL_
GIT_ BRANCH_ OPS - The git-branch ops bundle installed on
memstead_base::Engineby full boot. Wrapscrate::ops::changes::changes_sinceandcrate::ops::export::export_mem_from_branchso the engine can dispatch from a [MountStorage::GitBranch] mount without an extra trait or downcast.
Traits§
- MemWriter
- Write-side abstraction for mem content. Implementations are
Send + Syncso the engine can hold aBox<dyn MemWriter>on eachMemStateand reach it from any caller.
Functions§
- git_
tree_ mem_ writer - Construct a
Box<dyn MemWriter>for the git-object-backed path.gitdirpoints at the multi-rootmem-repo-gitrepo;ref_nameis the per-mem branch (fully-qualified, e.g.refs/heads/<mem>). The first commit creates the ref if it does not yet exist. - instantiate_
full_ backend - Full counterpart of
memstead_base::instantiate_lean_backend: turns anymemstead_base::Mountinto aBox<dyn MemBackend>, including the git-branch variant that the lean flavour cannot construct.
Type Aliases§
- Commit
Id - Opaque commit identifier returned by
MemWriter::commit. Backend-defined string — the git-tree adapter formats it as a hex-encoded object id (40 chars for sha-1, 64 for sha-256), but the trait surface treats it as opaque. Callers carry it back into the engine’sHashMismatch.currentenvelope when the adapter detects a CAS conflict.