Skip to content

Commit 54c8db8

Browse files
committed
chore: try safely creating parent dir>'
1 parent 74b7621 commit 54c8db8

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

migration/util/node-types/src/executor/movement_executor.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ pub struct MovementNode {
3636

3737
/// Copies a directory recursively.
3838
fn copy_dir_recursive(src: &Path, dst: &Path) -> std::io::Result<()> {
39+
40+
// make sure the dst directory exists
41+
fs::create_dir_all(dst)?;
42+
3943
for entry in WalkDir::new(src) {
4044
let entry = entry?;
4145
let rel_path = entry.path().strip_prefix(src).unwrap();
@@ -74,13 +78,13 @@ impl MovementNode {
7478

7579
// Copy the entire .movement directory recursively
7680
let movement_dir = dir.join(".movement");
77-
copy_dir_recursive(&movement_dir, &debug_dir)?;
81+
copy_dir_recursive(&movement_dir, &debug_dir).context("failed to copy movement dir")?;
7882

7983
// Set all permissions in the debug directory recursively
8084
// Note: this would mess up celestia node permissions, but we don't care about that here.
8185
// We really only care about maptos db permissions.
8286
// TODO: tighten the copying accordingly.
83-
set_permissions_recursive(&debug_dir, Permissions::from_mode(0o755))?;
87+
set_permissions_recursive(&debug_dir, Permissions::from_mode(0o755)).context("failed to set permissions")?;
8488

8589
let movement_args = MovementArgs { movement_path: Some(debug_dir.display().to_string()) };
8690

0 commit comments

Comments
 (0)