always include directories, even with only_increment
authorDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 17 Feb 2011 17:47:28 +0000 (18:47 +0100)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 17 Feb 2011 17:47:28 +0000 (18:47 +0100)
lib/BackupPC/View.pm

index 93d4e02..dbdd689 100644 (file)
@@ -206,6 +206,7 @@ sub dirCache
 
             if ( defined($attr) && defined(my $a = $attr->get($fileUM)) ) {
                 $m->{files}{$fileUM} = $a;
 
             if ( defined($attr) && defined(my $a = $attr->get($fileUM)) ) {
                 $m->{files}{$fileUM} = $a;
+               $previous_increment_entry->{$fileUM}->{_dir}++ if $a->{type} == BPC_FTYPE_DIR; # ASA
                 #
                 # skip directories in earlier backups (each backup always
                 # has the complete directory tree).
                 #
                 # skip directories in earlier backups (each backup always
                 # has the complete directory tree).
@@ -290,8 +291,8 @@ sub dirCache
 
        # ASA create increment
        if ( $m->{dirOpts}->{only_increment} ) {
 
        # ASA create increment
        if ( $m->{dirOpts}->{only_increment} ) {
-               #warn "# previous_increment_entry = ",dump $previous_increment_entry;
-               foreach my $file ( grep { exists $previous_increment_entry->{$_}->{_hide} } keys %$previous_increment_entry ) {
+               warn "# previous_increment_entry = ",dump $previous_increment_entry;
+               foreach my $file ( grep { exists $previous_increment_entry->{$_}->{_hide} && ! exists $previous_increment_entry->{$_}->{_dir} } keys %$previous_increment_entry ) {
                        delete $m->{files}{$file};
                        #warn "OLD $file\n";
                }
                        delete $m->{files}{$file};
                        #warn "OLD $file\n";
                }