summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2009-06-12 19:31:18 -0400
committerJoey Hess <joey@kitenet.net>2009-06-12 19:31:23 -0400
commit91513466877df4329567f2cc73b6719999394258 (patch)
treee5894f524f3bc08992975b5e4ffe490038585297
parent90b4d079605b72bb50d1da41402d994960e10937 (diff)
aggregate: Avoid resetting ctime when an item md5 changes.
Besides being wrong to do, this could lead to the wrong item being expired, as follows: If B is added and at the same time A is changed, then A's ctime may be set to the current time, while B's is set to its creation time. Thus the new item, A, is incorrectly removed as older. (This interacted especially badly with the bug fixed by 90b4d079605b72bb50d1da41402d994960e10937.)
-rw-r--r--IkiWiki/Plugin/aggregate.pm6
-rw-r--r--debian/changelog1
2 files changed, 5 insertions, 2 deletions
diff --git a/IkiWiki/Plugin/aggregate.pm b/IkiWiki/Plugin/aggregate.pm
index 60c292d52..5a9eb433d 100644
--- a/IkiWiki/Plugin/aggregate.pm
+++ b/IkiWiki/Plugin/aggregate.pm
@@ -650,11 +650,13 @@ sub add_page (@) {
# creation time on record for the new page.
utime $mtime, $mtime, "$config{srcdir}/".htmlfn($guid->{page});
# Store it in pagectime for expiry code to use also.
- $IkiWiki::pagectime{$guid->{page}}=$mtime;
+ $IkiWiki::pagectime{$guid->{page}}=$mtime
+ unless exists $IkiWiki::pagectime{$guid->{page}};
}
else {
# Dummy value for expiry code.
- $IkiWiki::pagectime{$guid->{page}}=time;
+ $IkiWiki::pagectime{$guid->{page}}=time
+ unless exists $IkiWiki::pagectime{$guid->{page}};
}
}
diff --git a/debian/changelog b/debian/changelog
index 6444fb8ba..9b96eee81 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -25,6 +25,7 @@ ikiwiki (3.141) UNRELEASED; urgency=low
* Disable the Preferences link if no plugin with an auth hook is enabled.
* Updated French translation. Closes: #532654
* aggregate: Fix storing of changed md5.
+ * aggregate: Avoid resetting ctime when an item md5 changes.
-- Joey Hess <joeyh@debian.org> Tue, 02 Jun 2009 17:03:41 -0400