From b2ef2da7bbf765cff8910935cfbdedca3f7296cf Mon Sep 17 00:00:00 2001 From: Zygo Blaxell Date: Thu, 13 May 2010 16:53:35 -0400 Subject: [PATCH] Fix up the progress reporting so we can see directories being created --- dm6 | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/dm6 b/dm6 index 874534f..8b45f50 100755 --- a/dm6 +++ b/dm6 @@ -63,7 +63,7 @@ sub link_files { unlink($tmp_to) or warn "unlink: $tmp_to: $!"; # Try, possibly in vain, to clean up die "rename: $tmp_to -> $from: $saved_bang"; } - print STDERR "\b \b"; + print STDERR "\b"; } my $link_dir = shift @ARGV; @@ -81,14 +81,25 @@ sub slash_prefix { return ($prefix, $suffix); } +sub mkdir_p { + my ($dir) = @_; + return if -d $dir; + $dir =~ s:/+$::os; + my $parent; + ($parent = $dir) =~ s:[^/]+$::os; + if ($parent ne $dir) { + mkdir_p($parent); + print STDERR 'm'; + mkdir($dir) or die "mkdir: $dir: $!"; + } + die "mkdir: $dir: $!" unless -d $dir; +} + sub prepare_parents { my ($link_dir, $file) = @_; my ($prefix, $suffix) = slash_prefix($file); my $parent = "$link_dir/$prefix"; - print STDERR 'm'; - mkpath($parent, { verbose => 0 }); - print STDERR "\b"; - die "mkpath: $parent: $!" unless -d $parent; + mkdir_p($parent); return "$parent/$suffix"; } -- 2.30.2