added only_increment param to all action=browse links
[BackupPC.git] / lib / BackupPC / View.pm
index 725ecfd..b47080d 100644 (file)
@@ -76,7 +76,7 @@ sub dirCache
     my($m, $backupNum, $share, $dir) = @_;
     my($i, $level);
 
-    print STDERR "dirCache($backupNum, $share, $dir)\n";
+    #print STDERR "dirCache($backupNum, $share, $dir)\n";
     $dir = "/$dir" if ( $dir !~ m{^/} );
     $dir =~ s{/+$}{};
     return if ( $m->{num} == $backupNum
@@ -109,7 +109,7 @@ sub dirCache
        # for first full backup we need another full to detect changes
        last if $m->{backups}[$i]{level} == 0 && $#visit_backup_ids > 0;
     }
-    warn "# visit_backup_ids = ",dump @visit_backup_ids;
+    #warn "# visit_backup_ids = ",dump @visit_backup_ids;
 
     #
     # merge backups, starting at the requested one, and working
@@ -189,15 +189,14 @@ sub dirCache
                if ( $m->{dirOpts}->{only_increment} && $share ) {
                        if ( defined $previous_increment_entry->{$fileUM}
                        && $previous_increment_entry->{$fileUM}->{inode} == $entry->{inode} ) {
-                               warn "# -- $backupNum $fileUM\n";
+                               #warn "# -- $backupNum $fileUM\n";
                                $previous_increment_entry->{$fileUM}->{_hide}++;
                                next;
                        } elsif ( $backupNum < $increment_backupNum ) {
-                               warn "# << $backupNum $fileUM\n";
-                               $previous_increment_entry->{$fileUM}->{_hide}++;
+                               #warn "# << $backupNum $fileUM\n";
                                next;
                        } else {
-                               warn "# ++ $backupNum $fileUM ",dump $entry;
+                               #warn "# ++ $backupNum $fileUM ",dump $entry;
                                $previous_increment_entry->{$fileUM} = $entry;
                        }
                } else {
@@ -206,6 +205,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).
@@ -291,9 +291,9 @@ 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 ) {
+               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";
+                       #warn "OLD $file\n";
                }
        }