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

Method vault_materialize_all

atomic-repository/src/repository/vault.rs:375–392  ·  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

373 /// This is useful after `atomic pull` or for rebuilding the vault
374 /// directory from scratch.
375 pub fn vault_materialize_all(&self) -> Result<usize, RepositoryError> {
376 let entries = self.vault_list("", None)?;
377 let mut count = 0;
378
379 for meta in &entries {
380 self.vault_materialize(&meta.path)?;
381 count += 1;
382 }
383
384 // Also write the manifest file
385 let manifest = self.vault_manifest()?;
386 let manifest_path = self.vault_dir().join("_manifest.json");
387 let manifest_json = serde_json::to_string_pretty(&manifest)
388 .map_err(|e| RepositoryError::Serialization(e.to_string()))?;
389 std::fs::write(&manifest_path, manifest_json)?;
390
391 Ok(count)
392 }
393
394 /// Recompute the vault manifest's file_count and total_bytes from scratch.
395 ///

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