From 8529b9edb03bffbe00482d6f912f4b90b7cbb05c Mon Sep 17 00:00:00 2001 From: joey Date: Fri, 29 Sep 2006 11:44:08 +0000 Subject: [PATCH] web commit by RecaiOktas: Revert last change in patch. --- .../patchqueue/pruning_is_too_strict.mdwn | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/doc/bugs/patchqueue/pruning_is_too_strict.mdwn b/doc/bugs/patchqueue/pruning_is_too_strict.mdwn index 620a7eab4..c9087ae90 100644 --- a/doc/bugs/patchqueue/pruning_is_too_strict.mdwn +++ b/doc/bugs/patchqueue/pruning_is_too_strict.mdwn @@ -1,32 +1,41 @@ Preliminary patch for a feature wishlist item: [[bugs/pruning_is_too_strict]]. diff --git a/IkiWiki.pm b/IkiWiki.pm - index 1a00f2d..7381ae7 100644 + index 1a00f2d..0119a26 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm - @@ -20,6 +20,7 @@ our $VERSION = 1.00; + @@ -20,6 +20,8 @@ our $VERSION = 1.00; # Optimisation. use Memoize; memoize("abs2rel"); + +memoize("basefile"); +memoize("is_prune"); memoize("pagespec_translate"); my $installdir=''; # INSTALLDIR_AUTOREPLACE done by Makefile, DNE - @@ -331,6 +332,14 @@ sub abs2rel ($$) { #{{{ - return $ret; + @@ -318,6 +320,22 @@ sub baseurl (;$) { #{{{ + return $page; } #}}} - +sub is_prune ($;$) { #{{{ + +sub basefile ($;$) { #{{{ + my $file=shift; + my $base=shift || $config{srcdir}; + - + my $rel=abs2rel($file, $base); - + return $rel eq '.' ? 0 : $rel=~m/$config{wiki_file_prune_regexp}/; + + require File::Spec; + + $base=File::Spec->canonpath($base); + + my $ret=File::Spec->canonpath($file); + + + + $ret=~s#^$base/*##; + + return $ret; +} #}}} + - sub displaytime ($) { #{{{ - my $time=shift; - + +sub is_prune ($;$) { #{{{ + + return basefile($_[0], $_[1])=~m/$config{wiki_file_prune_regexp}/; + +} #}}} + + + sub abs2rel ($$) { #{{{ + # Work around very innefficient behavior in File::Spec if abs2rel + # is passed two relative paths. It's much faster if paths are diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm index f550b67..5d1991d 100644 --- a/IkiWiki/CGI.pm @@ -71,4 +80,4 @@ Preliminary patch for a feature wishlist item: [[bugs/pruning_is_too_strict]]. + if (is_prune($_, $config{underlaydir})) { $File::Find::prune=1; } - elsif (! -d $_ && ! -l $_) { + elsif (! -d $_ && ! -l $_) { \ No newline at end of file