X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=Debbugs%2FStatus.pm;h=ab35b814dae6f2c50797dc50c5d6fb069d3f8301;hb=7564a358fe324b1acd536fa05c42d16a6b610de8;hp=bf3d2ab7cdbdfa27d25b4d0b7eac3831445af3ef;hpb=ded1b3d0daf464ae240e9e088edc30986992537a;p=debbugs.git diff --git a/Debbugs/Status.pm b/Debbugs/Status.pm index bf3d2ab..ab35b81 100644 --- a/Debbugs/Status.pm +++ b/Debbugs/Status.pm @@ -191,6 +191,7 @@ sub read_bug{ my $status; my $log; my $location; + my $report; if (not defined $param{summary}) { my $lref; ($lref,$location) = @param{qw(bug location)}; @@ -200,13 +201,16 @@ sub read_bug{ } $status = getbugcomponent($lref, 'summary', $location); $log = getbugcomponent($lref, 'log' , $location); + $report = getbugcomponent($lref, 'report' , $location); return undef unless defined $status; return undef if not -e $status; } else { $status = $param{summary}; $log = $status; + $report = $status; $log =~ s/\.summary$/.log/; + $report =~ s/\.summary$/.report/; ($location) = $status =~ m/(db-h|db|archive)/; ($param{bug}) = $status =~ m/(\d+)\.summary$/; } @@ -277,7 +281,12 @@ sub read_bug{ my $status_modified = (stat($status))[9]; # Add log last modified time $data{log_modified} = (stat($log))[9] // (stat("${log}.gz"))[9]; + my $report_modified = (stat($report))[9] // $data{log_modified}; $data{last_modified} = max($status_modified,$data{log_modified}); + # if the date isn't set (ancient bug), use the smallest of any of the modified + if (not defined $data{date} or not length($data{date})) { + $data{date} = min($report_modified,$status_modified,$data{log_modified}); + } $data{location} = $location; $data{archived} = (defined($location) and ($location eq 'archive'))?1:0; $data{bug_num} = $param{bug};