Fix a bug that could lead to duplicate links being recorded for tags.
Here I was bitten by perl's aliasing of foreach variables to the loop array contents, and match_link accidentially changed the contents of %links. In Jon's testcase, a tag added an absolute link, which was made relative by the above bug, and then the link was added again in preprocess, and turned into a duplicate.master
parent
e4eca63767
commit
ffa73790b5
|
@ -2052,10 +2052,10 @@ sub match_link ($$;@) {
|
||||||
else {
|
else {
|
||||||
return IkiWiki::SuccessReason->new("$page links to page $p matching $link")
|
return IkiWiki::SuccessReason->new("$page links to page $p matching $link")
|
||||||
if match_glob($p, $link, %params);
|
if match_glob($p, $link, %params);
|
||||||
$p=~s/^\///;
|
my ($p_rel)=$p=~/^\/?(.*)/;
|
||||||
$link=~s/^\///;
|
$link=~s/^\///;
|
||||||
return IkiWiki::SuccessReason->new("$page links to page $p matching $link")
|
return IkiWiki::SuccessReason->new("$page links to page $p_rel matching $link")
|
||||||
if match_glob($p, $link, %params);
|
if match_glob($p_rel, $link, %params);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return IkiWiki::FailReason->new("$page does not link to $link");
|
return IkiWiki::FailReason->new("$page does not link to $link");
|
||||||
|
|
|
@ -8,6 +8,8 @@ ikiwiki (3.14159266) UNRELEASED; urgency=low
|
||||||
to the body tag.
|
to the body tag.
|
||||||
* Support RPC::XML 0.69's incompatable object instantiation method.
|
* Support RPC::XML 0.69's incompatable object instantiation method.
|
||||||
* mirrorlist: Display nothing if list is empty.
|
* mirrorlist: Display nothing if list is empty.
|
||||||
|
* Fix a bug that could lead to duplicate links being recorded
|
||||||
|
for tags.
|
||||||
|
|
||||||
-- Joey Hess <joeyh@debian.org> Sun, 27 Sep 2009 17:40:03 -0400
|
-- Joey Hess <joeyh@debian.org> Sun, 27 Sep 2009 17:40:03 -0400
|
||||||
|
|
||||||
|
|
|
@ -20,3 +20,6 @@ ikiwiki version 3.14159265.
|
||||||
> source and the `.ikiwiki` directory to reproduce this. --[[Joey]]
|
> source and the `.ikiwiki` directory to reproduce this. --[[Joey]]
|
||||||
|
|
||||||
>> Hi Joey, thanks for your response. I've reproduced it post rebuild and after having ran ikiwiki-transition and many refreshes (both resulting from content changes and otherwise) unfortunately, with ikiwiki 3.14159265 (different machine to above report, though). I will contact you privately to provide a git URL and a copy of my .ikiwiki. -- [[Jon]]
|
>> Hi Joey, thanks for your response. I've reproduced it post rebuild and after having ran ikiwiki-transition and many refreshes (both resulting from content changes and otherwise) unfortunately, with ikiwiki 3.14159265 (different machine to above report, though). I will contact you privately to provide a git URL and a copy of my .ikiwiki. -- [[Jon]]
|
||||||
|
|
||||||
|
>>> Found the bug that was causing duplicates to get in, and fixed it.
|
||||||
|
>>> [[done]] --[[Joey]]
|
||||||
|
|
Loading…
Reference in New Issue