]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki.pm
avoid error if two source files render the same destination file
[ikiwiki.git] / IkiWiki.pm
index 701f7137dd78483215637e205bbde0b720ea0387..4acc5508a6ef079abd61b595a61ba6d85d117563 100644 (file)
@@ -879,7 +879,19 @@ sub will_render ($$;$) {
        # Important security check.
        if (-e "$config{destdir}/$dest" && ! $config{rebuild} &&
            ! grep { $_ eq $dest } (@{$renderedfiles{$page}}, @{$oldrenderedfiles{$page}}, @{$wikistate{editpage}{previews}})) {
-               error("$config{destdir}/$dest independently created, not overwriting with version from $page");
+               my $from_other_page=0;
+               foreach my $p (keys %renderedfiles) {
+                       if (grep {
+                               $_ eq $dest ||
+                               dirname($_) eq $dest
+                           } @{$renderedfiles{$p}}) {
+                               $from_other_page=1;
+                               last;
+                       }
+               }
+
+               error("$config{destdir}/$dest independently created, not overwriting with version from $page")
+                       unless $from_other_page;
        }
 
        if (! $clear || $cleared{$page}) {