Assume obsolete transient pages have the same extension as the changed page
authorSimon McVittie <smcv@debian.org>
Fri, 7 Jan 2011 19:50:34 +0000 (19:50 +0000)
committerSimon McVittie <smcv@debian.org>
Fri, 7 Jan 2011 19:50:34 +0000 (19:50 +0000)
IkiWiki/Plugin/transient.pm

index 2784164f607c2d8210d7a3e88a729ef3f880326c..c482b8552f78efbe218b71de14bf21cf97a6cd2c 100644 (file)
@@ -33,12 +33,14 @@ sub checkconfig () {
 
 sub change (@) {
        foreach my $file (@_) {
 
 sub change (@) {
        foreach my $file (@_) {
-               # if the corresponding file exists in the transient underlay
-               # and isn't actually being used, we can get rid of it
-               my $page = pagename($file);
-               my $casualty = "$transientdir/$page.$config{default_pageext}";
+               # If the corresponding file exists in the transient underlay
+               # and isn't actually being used, we can get rid of it.
+               # Assume that the file that just changed has the same extension
+               # as the obsolete transient version: this'll be true for web
+               # edits, and avoids invoking File::Find.
+               my $casualty = "$transientdir/$file";
                if (srcfile($file) ne $casualty && -e $casualty) {
                if (srcfile($file) ne $casualty && -e $casualty) {
-                       debug(sprintf(gettext("removing transient version of %s"), $page));
+                       debug(sprintf(gettext("removing transient version of %s"), $file));
                        IkiWiki::prune($casualty);
                }
        }
                        IkiWiki::prune($casualty);
                }
        }