chiark / gitweb /
expire-8601: new version fixes
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 19 Aug 2020 21:27:05 +0000 (22:27 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 19 Aug 2020 21:27:05 +0000 (22:27 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
scripts/expire-iso8601.new

index d9e009cd2e07e1e699167ce559295c7407a34e5b..552b25839cb5e90c591e7e1a10e4ec752be73ea0 100755 (executable)
@@ -99,7 +99,9 @@ sub precomp () {
   $_->{A} = ($newest_t - $_->{T}) / $unit foreach @files;
   $slop /= $unit;
 
-  print DEBUG Dumper(\@files, \@intervals) if $debug >= 2;
+  push @{$files[0]{U}}, "newest";
+
+  print DEBUG Dumper(scalar(@files), \@files, \@intervals) if $debug >= 2;
 }
 
 sub flag ($) {
@@ -119,6 +121,7 @@ sub flag ($) {
     last if $files[$i]{A} >= $start_age;
     if ($i == $#files) {
       print STDERR "insufficiently old for $spec\n";
+      last;
     }
     $i++;
   }
@@ -151,11 +154,13 @@ sub flag ($) {
 sub implement () {
   foreach (@files) {
     next unless @{$_->{U}};
-    print "keep $_->{F} for @{$_->{U}}\n";
+    printf "keep %s for %s - age %.1f\n",
+      $_->{F}, "@{$_->{U}}", $_->{A};
   }
   foreach (@files) {
     next if @{$_->{U}};
-    print "remove $_->{F}\n";
+    printf "remove %s - age %.1f\n",
+      $_->{F}, $_->{A};
     if ($rm) {
       my $r= system 'rm', ($recurse ? ('-r') : ()), "--", $_->{F};
       die "run rm: $!\n" unless defined($r) && $r >= 0;