ikiwiki-transition: deduplinks was broken and threw away all metadata stored by plugins in the index. Fix this bug.

master
Joey Hess 2009-05-22 13:09:11 -04:00
parent a8318303d8
commit c2e2da6ee2
4 changed files with 17 additions and 4 deletions

11
debian/NEWS vendored
View File

@ -1,6 +1,15 @@
ikiwiki (3.13) UNRELEASED; urgency=low
The `ikiwiki-transition deduplinks` command introduced in the
last release was buggy. If you followed the NEWS file instructions
and ran it, you should run `ikiwiki -setup` to rebuild your wiki
to fix the problem.
-- Joey Hess <joeyh@debian.org> Fri, 22 May 2009 13:04:02 -0400
ikiwiki (3.12) unstable; urgency=low
You may want to run `ikiwiki-transition deduplinks /path/to/srcdir`
You may want to run `ikiwiki-transition deduplinks your.setup`
after upgrading to this version of ikiwiki. This command will
optimise your wiki's saved state, removing duplicate information
that can slow ikiwiki down.

2
debian/changelog vendored
View File

@ -11,6 +11,8 @@ ikiwiki (3.13) UNRELEASED; urgency=low
interpolation on user-supplied data when translating pagespecs.
* ikiwiki-transition: Allow setup files to be passed to all subcommands
that need a srcdir.
* ikiwiki-transition: deduplinks was broken and threw away all
metadata stored by plugins in the index. Fix this bug.
-- Joey Hess <joeyh@debian.org> Wed, 06 May 2009 20:45:44 -0400

View File

@ -61,7 +61,7 @@ If this is not done explicitly, a user's plaintext password will be
automatically converted to a hash when a user logs in for the first time
after upgrade to ikiwiki 2.48.
# deduplinks your.setup|srcdir
# deduplinks your.setup
In the past, bugs in ikiwiki have allowed duplicate link information
to be stored in its indexdb. This mode removes such duplicate information,

View File

@ -184,7 +184,9 @@ sub moveprefs {
}
sub deduplinks {
setstatedir(shift);
loadsetup(shift);
IkiWiki::loadplugins();
IkiWiki::checkconfig();
IkiWiki::loadindex();
foreach my $page (keys %links) {
my %l;
@ -237,7 +239,7 @@ sub usage {
print STDERR "\tmoveprefs setupfile\n";
print STDERR "\thashpassword setupfile|srcdir\n";
print STDERR "\tindexdb setupfile|srcdir\n";
print STDERR "\tdeduplinks setupfile|srcdir\n";
print STDERR "\tdeduplinks setupfile\n";
exit 1;
}