You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2022/09/06 16:10:00 UTC

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

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

ASF GitHub Bot logged work on IO-575:
-------------------------------------

                Author: ASF GitHub Bot
            Created on: 06/Sep/22 16:09
            Start Date: 06/Sep/22 16:09
    Worklog Time Spent: 10m 
      Work Description: garydgregory merged PR #379:
URL: https://github.com/apache/commons-io/pull/379




Issue Time Tracking
-------------------

            Worklog Id:     (was: 806462)
    Remaining Estimate: 0h
            Time Spent: 10m

> 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
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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)