[
https://issues.apache.org/jira/browse/IO-300?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Thilina Dampahala updated IO-300:
---------------------------------
Attachment: IO-300.patch
With this patch, you can move the directory to any directory, even to a
directory which exists inside the source directory.
Patch Logic:
------------
1. If the source directory lies on the destination directory, a temporary
source directory will be created (inside the system temporary folder).
2. Deletes original source directory.
3. Move from temporary source directory to the destination directory as per the
usual way.
> FileUtils.moveDirectoryToDirectory removing source directory
> ------------------------------------------------------------
>
> Key: IO-300
> URL: https://issues.apache.org/jira/browse/IO-300
> Project: Commons IO
> Issue Type: Bug
> Reporter: dennis lucero
> Attachments: IO-300.patch
>
>
> Since moveDirectoryToDirectory performs a copy then delete, if you specify a
> target directory that is a subdirectory of the source, everything under the
> source directory is deleted.
> Steps to recreate:
> File dest = new File("/tmp/dir1/dir2");
> File src = new File("/tmp/dir1/");
> dest.mkdirs();
> System.out.println(src.exists());
> FileUtils.moveDirectoryToDirectory(src, dest, false);
> System.out.println(src.exists());
> Output:
> true
> false
> If you try the same thing with a move command on Linux, you receive: "mv:
> cannot move `dir1/' to a subdirectory of itself, `dir1/dir2/dir1'"
> Maybe throw an exception if
> dest.getCanonicalPath().startsWith(src.getCanonicalPath())
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira