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

Method ensure_directories

atomic-core/src/output/memory.rs:442–459  ·  view source on GitHub ↗

Ensure all directories in a path exist.

(&self, path: &str)

Source from the content-addressed store, hash-verified

440
441 /// Ensure all directories in a path exist.
442 fn ensure_directories(&self, path: &str) {
443 let mut current = String::new();
444 for component in path.split('/') {
445 if component.is_empty() {
446 continue;
447 }
448 if !current.is_empty() {
449 current.push('/');
450 }
451 current.push_str(component);
452
453 let mut files = self.files.borrow_mut();
454 if !files.contains_key(&current) {
455 let inode = Inode::new(self.next_inode.fetch_add(1, Ordering::SeqCst));
456 files.insert(current.clone(), MemoryFile::new_directory(inode));
457 }
458 }
459 }
460
461 /// Get entries within a directory.
462 #[allow(dead_code)]

Callers 4

add_fileMethod · 0.80
add_directoryMethod · 0.80
create_dir_allMethod · 0.80
write_fileMethod · 0.80

Calls 5

contains_keyMethod · 0.80
is_emptyMethod · 0.45
pushMethod · 0.45
insertMethod · 0.45
cloneMethod · 0.45

Tested by

no test coverage detected