create full paths from md5sum files
authorDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 1 Sep 2011 10:35:52 +0000 (10:35 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 1 Sep 2011 10:35:52 +0000 (10:35 +0000)
lib/CloudStore/dedup.pm

index 0000ecb..04488cd 100644 (file)
@@ -4,6 +4,7 @@ use strict;
 use autodie;
 
 use CloudStore::JSON;
+use File::Path qw(make_path);
 use Data::Dump qw(dump);
 
 sub path_md5 {
@@ -62,6 +63,9 @@ sub data {
                        }
                        my $new = "users/$data->{login}/blob/$dir$file";
                        if ( ! -e $new ) {
+                               # create path from md5sum file
+                               my $dir = $1 if $new =~ m{^(.+)/[^/]+$};
+                               make_path $dir unless -d $dir;
                                $imported += link "md5/$md5", $new;
                        } else {
                                path_md5 $new => $md5;