* Fix an aggregate plugin expiry bug. Over time, it's possible for the same
page name to be expired and reused for several distinct guids. When this happened, the expiry code counted each past guid that had used that page name as a currently existing page, and thus expired too many pages.master
parent
f0dab430bd
commit
5cbd86235e
|
@ -220,9 +220,11 @@ sub expire () { #{{{
|
|||
foreach my $feed (values %feeds) {
|
||||
next unless $feed->{expireage} || $feed->{expirecount};
|
||||
my $count=0;
|
||||
my %seen;
|
||||
foreach my $item (sort { $IkiWiki::pagectime{$b->{page}} <=> $IkiWiki::pagectime{$a->{page}} }
|
||||
grep { exists $_->{page} && $_->{feed} eq $feed->{name} && $IkiWiki::pagectime{$_->{page}} }
|
||||
grep { exists $_->{page} && ! exists $seen{$_->{page}} && $_->{feed} eq $feed->{name} && $IkiWiki::pagectime{$_->{page}} }
|
||||
values %guids) {
|
||||
$seen{$item}=1;
|
||||
if ($feed->{expireage}) {
|
||||
my $days_old = (time - $IkiWiki::pagectime{$item->{page}}) / 60 / 60 / 24;
|
||||
if ($days_old > $feed->{expireage}) {
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
ikiwiki (2.12) UNRELEASED; urgency=low
|
||||
|
||||
* Fix some issues with toggles in preview mode.
|
||||
* Fix an aggregate plugin expiry bug. Over time, it's possible for the same
|
||||
page name to be expired and reused for several distinct guids. When this
|
||||
happened, the expiry code counted each past guid that had used that page
|
||||
name as a currently existing page, and thus expired too many pages.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Mon, 29 Oct 2007 17:15:04 -0400
|
||||
-- Joey Hess <joeyh@debian.org> Tue, 30 Oct 2007 22:47:36 -0400
|
||||
|
||||
ikiwiki (2.11) unstable; urgency=low
|
||||
|
||||
|
|
Loading…
Reference in New Issue