From 44b0cea85f1641f33ccb305f9da6f96e812b84e9 Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@debian.org>
Date: Fri, 7 Jan 2011 19:50:34 +0000
Subject: Assume obsolete transient pages have the same extension as the
 changed page

---
 IkiWiki/Plugin/transient.pm | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

(limited to 'IkiWiki')

diff --git a/IkiWiki/Plugin/transient.pm b/IkiWiki/Plugin/transient.pm
index 2784164f6..c482b8552 100644
--- a/IkiWiki/Plugin/transient.pm
+++ b/IkiWiki/Plugin/transient.pm
@@ -33,12 +33,14 @@ sub checkconfig () {
 
 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) {
-			debug(sprintf(gettext("removing transient version of %s"), $page));
+			debug(sprintf(gettext("removing transient version of %s"), $file));
 			IkiWiki::prune($casualty);
 		}
 	}
-- 
cgit v1.2.3