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 2022/08/08 14:50:00 UTC

[jira] [Commented] (IO-575) copyDirectory (all overloads) does not maintain file permissions

    [ https://issues.apache.org/jira/browse/IO-575?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17576832#comment-17576832 ] 

Gary D. Gregory commented on IO-575:
------------------------------------

Hi [~adamkewley] 

Does {{PathUtils}} fit your needs?

> copyDirectory (all overloads) does not maintain file permissions
> ----------------------------------------------------------------
>
>                 Key: IO-575
>                 URL: https://issues.apache.org/jira/browse/IO-575
>             Project: Commons IO
>          Issue Type: Bug
>    Affects Versions: 2.5
>            Reporter: Adam Kewley
>            Priority: Minor
>
> I found that permissions (specifically, execute) are not maintained when using copyDirectory. The following test demonstrates the behavior:**
>  
> {code:java}
> Path sourceDir = Files.createTempDirectory("source-dir");
> String filename = "some-file";
> Path sourceFile = Files.createFile(sourceDir.resolve(filename));
> assertThat(sourceFile.toFile().canExecute()).isFalse();
> sourceFile.toFile().setExecutable(true);
> assertThat(sourceFile.toFile().canExecute()).isTrue();
> Path destDir = Files.createTempDirectory("some-empty-destination");
> FileUtils.copyDirectory(sourceDir.toFile(), destDir.toFile());
> Path destFile = destDir.resolve(filename);
> assertThat(destFile.toFile().exists()).isTrue();
> assertThat(destFile.toFile().canExecute()).isTrue(); // fails
> {code}
> Is it working as intended that the permissions are not copied over?
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)