You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gary D. Gregory (Jira)" <ji...@apache.org> on 2021/01/16 21:00:00 UTC

[jira] [Resolved] (IO-702) FileUtils.forceDelete does not delete invalid links

     [ https://issues.apache.org/jira/browse/IO-702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary D. Gregory resolved IO-702.
--------------------------------
    Fix Version/s: 2.9.0
       Resolution: Fixed

[~xf01213]

Thank you for your PR. Merged in git master. Please verify and close this ticket.

TY!

 

> FileUtils.forceDelete does not delete invalid links
> ---------------------------------------------------
>
>                 Key: IO-702
>                 URL: https://issues.apache.org/jira/browse/IO-702
>             Project: Commons IO
>          Issue Type: Bug
>          Components: Utilities
>    Affects Versions: 2.8.0
>            Reporter: Boris Unckel
>            Priority: Critical
>             Fix For: 2.9.0
>
>          Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> The current implementation of FileUtils.forceDelete does not delete invalid links. Invalid links means one pointing to a non existing directory. This is _not related_ to the intended behaviour to _keep the destination_ of the link.
> The FileUtils.cleanDirectory is based on forceDelete but does not check the result. FileUtils.cleanDirectory assumes "no exception" means "directory is clean".
> FileUtils.deleteDirectory fails with "directory not empty".
> Testcase result (will provide that)
> {code:java}
> java.nio.file.DirectoryNotEmptyException: /tmp/junit4962570063696933090/realParentDirC
> 	at java.base/sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:246)
> 	at java.base/sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:105)
> 	at java.base/java.nio.file.Files.delete(Files.java:1146)
> 	at org.apache.commons.io.FileUtils.delete(FileUtils.java:1173)
> 	at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1192)
> 	at org.apache.commons.io.FileUtilsDeleteDirectoryBaseTestCase.testDeleteInvalidLinks(FileUtilsDeleteDirectoryBaseTestCase.java:216)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)