X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=lib%2FCloudStore%2FStore.pm;h=1956a732d8200b7dc7873d3c274792f8c65cab60;hb=e566496afecf10279429815772a6ca45eddfdb9d;hp=16d6af10c519f7d1065c04bb1429224130e7373c;hpb=ddf7f5d29633547c4dc83c67fdd55f3995375a72;p=cloudstore.git diff --git a/lib/CloudStore/Store.pm b/lib/CloudStore/Store.pm index 16d6af1..1956a73 100644 --- a/lib/CloudStore/Store.pm +++ b/lib/CloudStore/Store.pm @@ -155,7 +155,9 @@ sub new_file { sub removed_file { my ( $self, $data ) = @_; - my $md5 = $self->md5_get( $data ); +=for removed + my $path = $self->blob_path( $data ); + my $md5 = $self->md5_get( $path ); return unless $md5; # directories don't have md5sums my $path = $self->{md5pool} . '/' . $md5; my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, @@ -172,6 +174,8 @@ sub removed_file { } $self->api->append_meta('md5sum', $user, 'delete', $data->{file} ); +=cut + } sub make_dir { @@ -264,7 +268,7 @@ sub rsync_log { my $pid = $1; $self->cleanup_pid( $pid ); } else { - warn "## rsync_log $data"; + warn "## rsync_log $data" if $ENV{DEBUG}; } } @@ -299,8 +303,10 @@ sub rsync_transfer { } else { die "unknown type $type ", dump $data; } + $self->api->refresh_file_list( $data->{login} ); } elsif ( $data->{itemize} =~ m/\*deleting/ ) { $self->removed_file($data); + $self->api->refresh_file_list( $data->{login} ); } else { warn "IGNORED ",dump($data) if $ENV{DEBUG}; } @@ -371,6 +377,10 @@ sub dedup { while(<$md5sum>) { chomp; my ( $md5, $file ) = split(/\s+/,$_,2); + if ( ! $file ) { + warn "IGNORE $md5 without file\n"; + next; + } if ( ! -e "$self->{md5pool}/$md5" ) { warn "MISSING $md5 $file\n"; next;