MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / vault_materialize_all

Method vault_materialize_all

atomic-repository/src/repository/vault.rs:388–405  ·  view source on GitHub ↗

Materialize all vault entries to disk. Reads every entry from redb and writes it as a markdown file. Also writes the manifest as `_manifest.json`. This is useful after `atomic pull` or for rebuilding the vault directory from scratch.

(&self)

Source from the content-addressed store, hash-verified

386 /// This is useful after `atomic pull` or for rebuilding the vault
387 /// directory from scratch.
388 pub fn vault_materialize_all(&self) -> Result<usize, RepositoryError> {
389 let entries = self.vault_list("", None)?;
390 let mut count = 0;
391
392 for meta in &entries {
393 self.vault_materialize(&meta.path)?;
394 count += 1;
395 }
396
397 // Also write the manifest file
398 let manifest = self.vault_manifest()?;
399 let manifest_path = self.vault_dir().join("_manifest.json");
400 let manifest_json = serde_json::to_string_pretty(&manifest)
401 .map_err(|e| RepositoryError::Serialization(e.to_string()))?;
402 std::fs::write(&manifest_path, manifest_json)?;
403
404 Ok(count)
405 }
406
407 /// Recompute the vault manifest's file_count and total_bytes from scratch.
408 ///

Callers 3

runMethod · 0.80
run_asyncMethod · 0.80

Calls 5

writeFunction · 0.85
vault_listMethod · 0.80
vault_materializeMethod · 0.80
vault_manifestMethod · 0.80
vault_dirMethod · 0.80

Tested by 1