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

Function snapshot_files

atomic-cli/tests/provenance_integration_test.rs:74–91  ·  view source on GitHub ↗

Recursively collect every file path under `root` (relative), for a before/after "nothing was written" assertion.

(root: &Path)

Source from the content-addressed store, hash-verified

72/// Recursively collect every file path under `root` (relative), for a
73/// before/after "nothing was written" assertion.
74fn snapshot_files(root: &Path) -> BTreeSet<String> {
75 let mut set = BTreeSet::new();
76 fn walk(dir: &Path, base: &Path, set: &mut BTreeSet<String>) {
77 let Ok(entries) = std::fs::read_dir(dir) else {
78 return;
79 };
80 for entry in entries.flatten() {
81 let path = entry.path();
82 if path.is_dir() {
83 walk(&path, base, set);
84 } else if let Ok(rel) = path.strip_prefix(base) {
85 set.insert(rel.to_string_lossy().to_string());
86 }
87 }
88 }
89 walk(root, root, &mut set);
90 set
91}
92
93/// Create a default identity in a test-owned identity store rooted under
94/// `home_dir/.atomic/identities`, matching `IdentityStore::open_default()` when

Calls 1

walkFunction · 0.70

Tested by

no test coverage detected