web commit by http://ethan.betacantrips.com/: fix
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Thu, 26 Jul 2007 03:12:57 +0000 (03:12 +0000)
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Thu, 26 Jul 2007 03:12:57 +0000 (03:12 +0000)
doc/bugs/discussion_removal.mdwn

index 70bc2f5c07f9fa1fa0c321a18c43227f9b164726..9e08361a3ecb7eeadf5986f5c44fa441e598e9cb 100644 (file)
@@ -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
+
+<pre>
+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{$_};
++                              }
++                      }
+               }
+       }
+</pre>
+