always include directories, even with only_increment
[BackupPC.git] / 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;
+               $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).
@@ -290,8 +291,8 @@ sub dirCache
 
        # 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";
                }