diff options
author | Joey Hess <joey@kitenet.net> | 2010-07-18 17:30:46 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-07-18 17:38:35 -0400 |
commit | e674bb1445378ce43ae60720e42d6c418270001a (patch) | |
tree | fc505247b46f916eaa7a5d1fa319ea156fda9928 /doc | |
parent | 1dbb2632ef5f7eaa1f5745d587b1373b45b09e56 (diff) | |
download | ikiwiki-e674bb1445378ce43ae60720e42d6c418270001a.tar ikiwiki-e674bb1445378ce43ae60720e42d6c418270001a.tar.gz |
fix other 2 cases of conflicting destdir files
Cleanly fixed case where destdir file failed to be written because there
was a directory with the same name. This can be detected with no extra
system calls, and dealt with by finding all pages that wrote files
inside the directory, and removing them and the directory.
The other, inverse case would be expensive to detect in will_render,
since it would need to check each parent directory of the file to see
if the directory is really a conflicting file. But prep_writefile
already does a similar scan for symlinks in the path, so I added code
there to remove the conflicting file. This fix assumes that the file
is written using writefile, and not some other means (but using other means
would be a security hole too, so hopefully nothing does).
Diffstat (limited to 'doc')
-rw-r--r-- | doc/bugs/conflicts.mdwn | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/doc/bugs/conflicts.mdwn b/doc/bugs/conflicts.mdwn index a67450290..bef0f54cd 100644 --- a/doc/bugs/conflicts.mdwn +++ b/doc/bugs/conflicts.mdwn @@ -28,3 +28,5 @@ destination file is rendered by multiple pages. Or when one page renders a file that is a parent directory of the rendered file of another page. It could warn, rather than erroring. The last page rendered would "win"; generating the destdir file. + +[[done]] |