From: http://smcv.pseudorandom.co.uk/ <smcv@web>
Date: Sat, 7 Apr 2012 21:13:26 +0000 (-0400)
Subject: branch to fix this (+ make prune() work better)
X-Git-Tag: 3.20120419~53^2~1
X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/2fca1eeda99b5250dda385e50607b2deb499d40c?hp=--cc

branch to fix this (+ make prune() work better)
---

2fca1eeda99b5250dda385e50607b2deb499d40c
diff --git a/doc/bugs/removal_of_transient_pages.mdwn b/doc/bugs/removal_of_transient_pages.mdwn
index 2667a2b83..8048ad9cc 100644
--- a/doc/bugs/removal_of_transient_pages.mdwn
+++ b/doc/bugs/removal_of_transient_pages.mdwn
@@ -25,3 +25,31 @@ pages, until this is fixed.  --[[Joey]]
 >>>> to affect by web edits. The `-f` check seems rather redundant,
 >>>> surely if it's in `%pagesources` ikiwiki has already verified it's
 >>>> safe. --[[Joey]] 
+
+----
+
+[[!template id=gitbranch branch=smcv/ready/transient-rm author="[[Simon McVittie|smcv]]"]]
+
+Here's a branch. It special-cases the `$transientdir`, but in such a way
+that the special case could easily be extended to other locations where
+deletion should be allowed.
+
+It also changes `IkiWiki::prune()` to optionally stop pruning empty
+parent directories at the point where you'd expect it to (for instance,
+previously it would remove the `$transientdir` itself, if it turns out
+to be empty), and updates callers.
+
+The new `prune` API looks like this:
+
+    IkiWiki::prune("$config{srcdir}/$file", $config{srcdir});
+
+with the second argument optional. I wonder whether it ought to look
+more like `writefile`:
+
+    IkiWiki::prune($config{srcdir}, $file);
+
+although that would be either an incompatible change to internal API
+(forcing all callers to update to 2-argument), or being a bit
+inconsistent between the one-and two-argument forms. Thoughts?
+
+--[[smcv]]