From 3ea6d8a319bdedaaf014500abc7826f767dada43 Mon Sep 17 00:00:00 2001 From: joey Date: Thu, 26 Jul 2007 03:12:57 +0000 Subject: web commit by http://ethan.betacantrips.com/: fix --- doc/bugs/discussion_removal.mdwn | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'doc/bugs/discussion_removal.mdwn') diff --git a/doc/bugs/discussion_removal.mdwn b/doc/bugs/discussion_removal.mdwn index 70bc2f5c0..9e08361a3 100644 --- a/doc/bugs/discussion_removal.mdwn +++ b/doc/bugs/discussion_removal.mdwn @@ -7,4 +7,27 @@ link to it in the action bar. Looks to me like loadindex is populating %destsources with information that the old discussion page exists, which isn't invalidated when ikiwiki discovers that the page is gone. This leaves dangling links whenever *any* -page is deleted, not just a discussion page. --Ethan \ No newline at end of file +page is deleted, not just a discussion page. --Ethan + +Here's a patch that trawls through %destsources deleting pages when they +are found to be deleted. It's a little inelegant, but it's simple and it +works. --Ethan + +
+diff -urX ignorepats ikiwiki/IkiWiki/Render.pm ikidev/IkiWiki/Render.pm
+--- ikiwiki/IkiWiki/Render.pm	2007-07-25 15:58:24.501068000 -0700
++++ ikidev/IkiWiki/Render.pm	2007-07-25 20:08:32.966449000 -0700
+@@ -320,6 +320,11 @@
+ 			prune($config{destdir}."/".$_)
+ 				foreach @{$oldrenderedfiles{$page}};
+ 			delete $pagesources{$page};
++			foreach (keys %destsources){
++				if ($destsources{$_} == $page) {
++					delete $destsources{$_};
++				}
++			}
+ 		}
+ 	}
+ 
+
+ -- cgit v1.2.3