[jira] [Commented] (IO-721) FileUtils.copyDirectory() tries to set last modified on source dir after update to 2.8.0
[ https://issues.apache.org/jira/browse/IO-721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17338200#comment-17338200 ] Dirk Heinrichs commented on IO-721: --- Yes, think so. > FileUtils.copyDirectory() tries to set last modified on source dir after > update to 2.8.0 > > > Key: IO-721 > URL: https://issues.apache.org/jira/browse/IO-721 > Project: Commons IO > Issue Type: Bug > Components: Utilities >Affects Versions: 2.8.0 > Environment: Ubuntu 20.04 LTS > Groovy 3.0.x > Java 11 (from Ubuntu packages) >Reporter: Dirk Heinrichs >Priority: Major > > A simple > {code:java} > FileUtils.copyDirectory(source, dest, glob) {code} > works fine when using Commons-IO 2.7, but fails with > {code:java} > Caught: java.io.IOException: Failed setLastModified on /path/to/source > java.io.IOException: Failed setLastModified on /path/to/source > at > org.apache.commons.io.FileUtils.setLastModified(FileUtils.java:2561) > at > org.apache.commons.io.FileUtils.doCopyDirectory(FileUtils.java:1361) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:733) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:659) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:606) > {code} > after update to 2.8.0. From reading the documentation, it's also my > understanding that "setLastModified()" should be executed on "dest" to set > the same modification time as "source", but *not* on "source". -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IO-721) FileUtils.copyDirectory() tries to set last modified on source dir after update to 2.8.0
[ https://issues.apache.org/jira/browse/IO-721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17337885#comment-17337885 ] Gary D. Gregory commented on IO-721: Ok to resolve this issue then? [~Heinrichs] > FileUtils.copyDirectory() tries to set last modified on source dir after > update to 2.8.0 > > > Key: IO-721 > URL: https://issues.apache.org/jira/browse/IO-721 > Project: Commons IO > Issue Type: Bug > Components: Utilities >Affects Versions: 2.8.0 > Environment: Ubuntu 20.04 LTS > Groovy 3.0.x > Java 11 (from Ubuntu packages) >Reporter: Dirk Heinrichs >Priority: Major > > A simple > {code:java} > FileUtils.copyDirectory(source, dest, glob) {code} > works fine when using Commons-IO 2.7, but fails with > {code:java} > Caught: java.io.IOException: Failed setLastModified on /path/to/source > java.io.IOException: Failed setLastModified on /path/to/source > at > org.apache.commons.io.FileUtils.setLastModified(FileUtils.java:2561) > at > org.apache.commons.io.FileUtils.doCopyDirectory(FileUtils.java:1361) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:733) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:659) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:606) > {code} > after update to 2.8.0. From reading the documentation, it's also my > understanding that "setLastModified()" should be executed on "dest" to set > the same modification time as "source", but *not* on "source". -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IO-721) FileUtils.copyDirectory() tries to set last modified on source dir after update to 2.8.0
[ https://issues.apache.org/jira/browse/IO-721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17334467#comment-17334467 ] Dirk Heinrichs commented on IO-721: --- Looks better :) > FileUtils.copyDirectory() tries to set last modified on source dir after > update to 2.8.0 > > > Key: IO-721 > URL: https://issues.apache.org/jira/browse/IO-721 > Project: Commons IO > Issue Type: Bug > Components: Utilities >Affects Versions: 2.8.0 > Environment: Ubuntu 20.04 LTS > Groovy 3.0.x > Java 11 (from Ubuntu packages) >Reporter: Dirk Heinrichs >Priority: Major > > A simple > {code:java} > FileUtils.copyDirectory(source, dest, glob) {code} > works fine when using Commons-IO 2.7, but fails with > {code:java} > Caught: java.io.IOException: Failed setLastModified on /path/to/source > java.io.IOException: Failed setLastModified on /path/to/source > at > org.apache.commons.io.FileUtils.setLastModified(FileUtils.java:2561) > at > org.apache.commons.io.FileUtils.doCopyDirectory(FileUtils.java:1361) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:733) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:659) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:606) > {code} > after update to 2.8.0. From reading the documentation, it's also my > understanding that "setLastModified()" should be executed on "dest" to set > the same modification time as "source", but *not* on "source". -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IO-721) FileUtils.copyDirectory() tries to set last modified on source dir after update to 2.8.0
[ https://issues.apache.org/jira/browse/IO-721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17333290#comment-17333290 ] Gary D. Gregory commented on IO-721: [~Heinrichs] and all, Please look at git master. Gary > FileUtils.copyDirectory() tries to set last modified on source dir after > update to 2.8.0 > > > Key: IO-721 > URL: https://issues.apache.org/jira/browse/IO-721 > Project: Commons IO > Issue Type: Bug > Components: Utilities >Affects Versions: 2.8.0 > Environment: Ubuntu 20.04 LTS > Groovy 3.0.x > Java 11 (from Ubuntu packages) >Reporter: Dirk Heinrichs >Priority: Major > > A simple > {code:java} > FileUtils.copyDirectory(source, dest, glob) {code} > works fine when using Commons-IO 2.7, but fails with > {code:java} > Caught: java.io.IOException: Failed setLastModified on /path/to/source > java.io.IOException: Failed setLastModified on /path/to/source > at > org.apache.commons.io.FileUtils.setLastModified(FileUtils.java:2561) > at > org.apache.commons.io.FileUtils.doCopyDirectory(FileUtils.java:1361) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:733) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:659) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:606) > {code} > after update to 2.8.0. From reading the documentation, it's also my > understanding that "setLastModified()" should be executed on "dest" to set > the same modification time as "source", but *not* on "source". -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IO-721) FileUtils.copyDirectory() tries to set last modified on source dir after update to 2.8.0
[ https://issues.apache.org/jira/browse/IO-721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17331765#comment-17331765 ] Dirk Heinrichs commented on IO-721: --- Yes, that should work. BTW: I mentioned that new method already, see above. Please note that the exception message is wrong, that line should actually be {code:java} throw new IOException("Failed setLastModified on " + targetFile);{code} Because it's NOT "sourceFile" whose last modified time it tries to change. > FileUtils.copyDirectory() tries to set last modified on source dir after > update to 2.8.0 > > > Key: IO-721 > URL: https://issues.apache.org/jira/browse/IO-721 > Project: Commons IO > Issue Type: Bug > Components: Utilities >Affects Versions: 2.8.0 > Environment: Ubuntu 20.04 LTS > Groovy 3.0.x > Java 11 (from Ubuntu packages) >Reporter: Dirk Heinrichs >Priority: Major > > A simple > {code:java} > FileUtils.copyDirectory(source, dest, glob) {code} > works fine when using Commons-IO 2.7, but fails with > {code:java} > Caught: java.io.IOException: Failed setLastModified on /path/to/source > java.io.IOException: Failed setLastModified on /path/to/source > at > org.apache.commons.io.FileUtils.setLastModified(FileUtils.java:2561) > at > org.apache.commons.io.FileUtils.doCopyDirectory(FileUtils.java:1361) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:733) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:659) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:606) > {code} > after update to 2.8.0. From reading the documentation, it's also my > understanding that "setLastModified()" should be executed on "dest" to set > the same modification time as "source", but *not* on "source". -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IO-721) FileUtils.copyDirectory() tries to set last modified on source dir after update to 2.8.0
[ https://issues.apache.org/jira/browse/IO-721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17331273#comment-17331273 ] Darius Cooper commented on IO-721: -- Looking at the diff between 2.7 and 2.8.0 This code: destDir.setLastModified(srcDir.lastModified()); was replaced by {code:java} private static void setLastModified(final File sourceFile, final File targetFile) throws IOException { if (!targetFile.setLastModified(sourceFile.lastModified())) { throw new IOException("Failed setLastModified on " + sourceFile); } }{code} thus throwing an IOException in a situation where it previously did not. There are comments in the code that show this was intentional. It seems that the work-around (which would work in both 2.7 and 2.8.0) is to call the overriddedn copyDirectory() method, and explicitly pass pass {noformat} preserveFileDate=false{noformat} > FileUtils.copyDirectory() tries to set last modified on source dir after > update to 2.8.0 > > > Key: IO-721 > URL: https://issues.apache.org/jira/browse/IO-721 > Project: Commons IO > Issue Type: Bug > Components: Utilities >Affects Versions: 2.8.0 > Environment: Ubuntu 20.04 LTS > Groovy 3.0.x > Java 11 (from Ubuntu packages) >Reporter: Dirk Heinrichs >Priority: Major > > A simple > {code:java} > FileUtils.copyDirectory(source, dest, glob) {code} > works fine when using Commons-IO 2.7, but fails with > {code:java} > Caught: java.io.IOException: Failed setLastModified on /path/to/source > java.io.IOException: Failed setLastModified on /path/to/source > at > org.apache.commons.io.FileUtils.setLastModified(FileUtils.java:2561) > at > org.apache.commons.io.FileUtils.doCopyDirectory(FileUtils.java:1361) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:733) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:659) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:606) > {code} > after update to 2.8.0. From reading the documentation, it's also my > understanding that "setLastModified()" should be executed on "dest" to set > the same modification time as "source", but *not* on "source". -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IO-721) FileUtils.copyDirectory() tries to set last modified on source dir after update to 2.8.0
[ https://issues.apache.org/jira/browse/IO-721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17329991#comment-17329991 ] Dirk Heinrichs commented on IO-721: --- So do I. However, that doesn't change the fact that the script above throws an exception when using 2.8.0 and option "-t /tmp", but doesn't with "-t /tmp/foo". > FileUtils.copyDirectory() tries to set last modified on source dir after > update to 2.8.0 > > > Key: IO-721 > URL: https://issues.apache.org/jira/browse/IO-721 > Project: Commons IO > Issue Type: Bug > Components: Utilities >Affects Versions: 2.8.0 > Environment: Ubuntu 20.04 LTS > Groovy 3.0.x > Java 11 (from Ubuntu packages) >Reporter: Dirk Heinrichs >Priority: Major > > A simple > {code:java} > FileUtils.copyDirectory(source, dest, glob) {code} > works fine when using Commons-IO 2.7, but fails with > {code:java} > Caught: java.io.IOException: Failed setLastModified on /path/to/source > java.io.IOException: Failed setLastModified on /path/to/source > at > org.apache.commons.io.FileUtils.setLastModified(FileUtils.java:2561) > at > org.apache.commons.io.FileUtils.doCopyDirectory(FileUtils.java:1361) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:733) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:659) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:606) > {code} > after update to 2.8.0. From reading the documentation, it's also my > understanding that "setLastModified()" should be executed on "dest" to set > the same modification time as "source", but *not* on "source". -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IO-721) FileUtils.copyDirectory() tries to set last modified on source dir after update to 2.8.0
[ https://issues.apache.org/jira/browse/IO-721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17329934#comment-17329934 ] Darius Cooper commented on IO-721: -- Why does one directory work, but not another? Is it permissions? I can run touch on my /tmp directory. > FileUtils.copyDirectory() tries to set last modified on source dir after > update to 2.8.0 > > > Key: IO-721 > URL: https://issues.apache.org/jira/browse/IO-721 > Project: Commons IO > Issue Type: Bug > Components: Utilities >Affects Versions: 2.8.0 > Environment: Ubuntu 20.04 LTS > Groovy 3.0.x > Java 11 (from Ubuntu packages) >Reporter: Dirk Heinrichs >Priority: Major > > A simple > {code:java} > FileUtils.copyDirectory(source, dest, glob) {code} > works fine when using Commons-IO 2.7, but fails with > {code:java} > Caught: java.io.IOException: Failed setLastModified on /path/to/source > java.io.IOException: Failed setLastModified on /path/to/source > at > org.apache.commons.io.FileUtils.setLastModified(FileUtils.java:2561) > at > org.apache.commons.io.FileUtils.doCopyDirectory(FileUtils.java:1361) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:733) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:659) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:606) > {code} > after update to 2.8.0. From reading the documentation, it's also my > understanding that "setLastModified()" should be executed on "dest" to set > the same modification time as "source", but *not* on "source". -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IO-721) FileUtils.copyDirectory() tries to set last modified on source dir after update to 2.8.0
[ https://issues.apache.org/jira/browse/IO-721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17301545#comment-17301545 ] Dirk Heinrichs commented on IO-721: --- Indeed. Works if I change it to /tmp/foo. OK, in this case the only remaining issue is the wrong file being printed by the exception message... > FileUtils.copyDirectory() tries to set last modified on source dir after > update to 2.8.0 > > > Key: IO-721 > URL: https://issues.apache.org/jira/browse/IO-721 > Project: Commons IO > Issue Type: Bug > Components: Utilities >Affects Versions: 2.8.0 > Environment: Ubuntu 20.04 LTS > Groovy 3.0.x > Java 11 (from Ubuntu packages) >Reporter: Dirk Heinrichs >Priority: Major > > A simple > {code:java} > FileUtils.copyDirectory(source, dest, glob) {code} > works fine when using Commons-IO 2.7, but fails with > {code:java} > Caught: java.io.IOException: Failed setLastModified on /path/to/source > java.io.IOException: Failed setLastModified on /path/to/source > at > org.apache.commons.io.FileUtils.setLastModified(FileUtils.java:2561) > at > org.apache.commons.io.FileUtils.doCopyDirectory(FileUtils.java:1361) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:733) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:659) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:606) > {code} > after update to 2.8.0. From reading the documentation, it's also my > understanding that "setLastModified()" should be executed on "dest" to set > the same modification time as "source", but *not* on "source". -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IO-721) FileUtils.copyDirectory() tries to set last modified on source dir after update to 2.8.0
[ https://issues.apache.org/jira/browse/IO-721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17301540#comment-17301540 ] Dirk Heinrichs commented on IO-721: --- BTW: The destination directory in my test was /tmp. Maybe that's also part of the problem... > FileUtils.copyDirectory() tries to set last modified on source dir after > update to 2.8.0 > > > Key: IO-721 > URL: https://issues.apache.org/jira/browse/IO-721 > Project: Commons IO > Issue Type: Bug > Components: Utilities >Affects Versions: 2.8.0 > Environment: Ubuntu 20.04 LTS > Groovy 3.0.x > Java 11 (from Ubuntu packages) >Reporter: Dirk Heinrichs >Priority: Major > > A simple > {code:java} > FileUtils.copyDirectory(source, dest, glob) {code} > works fine when using Commons-IO 2.7, but fails with > {code:java} > Caught: java.io.IOException: Failed setLastModified on /path/to/source > java.io.IOException: Failed setLastModified on /path/to/source > at > org.apache.commons.io.FileUtils.setLastModified(FileUtils.java:2561) > at > org.apache.commons.io.FileUtils.doCopyDirectory(FileUtils.java:1361) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:733) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:659) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:606) > {code} > after update to 2.8.0. From reading the documentation, it's also my > understanding that "setLastModified()" should be executed on "dest" to set > the same modification time as "source", but *not* on "source". -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IO-721) FileUtils.copyDirectory() tries to set last modified on source dir after update to 2.8.0
[ https://issues.apache.org/jira/browse/IO-721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17301535#comment-17301535 ] Dirk Heinrichs commented on IO-721: --- Looking at the code I see that doCopyDirectory() calls a new method FileUtils.setLastModified() in 2.8.0 which throws an exception (with a wrong message, BTW.) {code:java} private static void setLastModified(final File sourceFile, final File targetFile) throws IOException { if (!targetFile.setLastModified(sourceFile.lastModified())) { throw new IOException("Failed setLastModified on " + sourceFile); } } {code} while in 2.7 it calls "destFile.setLastModified()" directly w/o throwing an exception. If that isn't an obvious issue... > FileUtils.copyDirectory() tries to set last modified on source dir after > update to 2.8.0 > > > Key: IO-721 > URL: https://issues.apache.org/jira/browse/IO-721 > Project: Commons IO > Issue Type: Bug > Components: Utilities >Affects Versions: 2.8.0 > Environment: Ubuntu 20.04 LTS > Groovy 3.0.x > Java 11 (from Ubuntu packages) >Reporter: Dirk Heinrichs >Priority: Major > > A simple > {code:java} > FileUtils.copyDirectory(source, dest, glob) {code} > works fine when using Commons-IO 2.7, but fails with > {code:java} > Caught: java.io.IOException: Failed setLastModified on /path/to/source > java.io.IOException: Failed setLastModified on /path/to/source > at > org.apache.commons.io.FileUtils.setLastModified(FileUtils.java:2561) > at > org.apache.commons.io.FileUtils.doCopyDirectory(FileUtils.java:1361) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:733) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:659) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:606) > {code} > after update to 2.8.0. From reading the documentation, it's also my > understanding that "setLastModified()" should be executed on "dest" to set > the same modification time as "source", but *not* on "source". -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IO-721) FileUtils.copyDirectory() tries to set last modified on source dir after update to 2.8.0
[ https://issues.apache.org/jira/browse/IO-721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17301421#comment-17301421 ] Dirk Heinrichs commented on IO-721: --- My use case is a simple Groovy script for copying files from one directory to another: {code:java} // Copy a directory to a destination directory // Get dependencies @GrabConfig(systemClassLoader=true) @Grab('commons-io:commons-io:2.8.0') @Grab('info.picocli:picocli-groovy:4.6.1') // Import external modules import groovy.cli.picocli.CliBuilder import org.apache.commons.io.FileUtils import org.apache.commons.io.filefilter.WildcardFileFilter // Parse command line options def cli = new CliBuilder(name: 'copyDir.groovy') cli.h(type: Boolean, longOpt: 'help', usageHelp: true, required: false, 'Show usage information') cli.f(type: File, longOpt: 'from', required: true, args: 1, 'The directory that should be copied (required)') cli.p(type: String, longOpt: 'pattern', required: false, args: 1, defaultValue: '*', 'Glob pattern to specify which files to copy (optional, default: "*")') cli.t(type: File, longOpt: 'to', required: true, args: 1, 'The destination directory (required)') def opts = cli.parse(args) opts || System.exit(1) if(opts.h) { cli.usage() System.exit(0) } // Copy directory to its destination println('Copying directory ' + opts.f + ' to ' + opts.t + ' using glob pattern "' + opts.p + '"...') def glob = new WildcardFileFilter(opts.p) FileUtils.copyDirectory(opts.f,opts.t, glob as FileFilter) println('Directory copied.') {code} Executing this results in above error. Changing the version of commons-io to 2.7 will make it work. > FileUtils.copyDirectory() tries to set last modified on source dir after > update to 2.8.0 > > > Key: IO-721 > URL: https://issues.apache.org/jira/browse/IO-721 > Project: Commons IO > Issue Type: Bug > Components: Utilities >Affects Versions: 2.8.0 > Environment: Ubuntu 20.04 LTS > Groovy 3.0.x > Java 11 (from Ubuntu packages) >Reporter: Dirk Heinrichs >Priority: Major > > A simple > {code:java} > FileUtils.copyDirectory(source, dest, glob) {code} > works fine when using Commons-IO 2.7, but fails with > {code:java} > Caught: java.io.IOException: Failed setLastModified on /path/to/source > java.io.IOException: Failed setLastModified on /path/to/source > at > org.apache.commons.io.FileUtils.setLastModified(FileUtils.java:2561) > at > org.apache.commons.io.FileUtils.doCopyDirectory(FileUtils.java:1361) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:733) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:659) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:606) > {code} > after update to 2.8.0. From reading the documentation, it's also my > understanding that "setLastModified()" should be executed on "dest" to set > the same modification time as "source", but *not* on "source". -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IO-721) FileUtils.copyDirectory() tries to set last modified on source dir after update to 2.8.0
[ https://issues.apache.org/jira/browse/IO-721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17301195#comment-17301195 ] Gary D. Gregory commented on IO-721: A quick scan for the git master and 2.8.0 does not reveal an obvious issue. May you please demonstrate your use case in a PR on GitHub? You can create a new class or append to one of the many {{FileUtils*TestCase}} classes. > FileUtils.copyDirectory() tries to set last modified on source dir after > update to 2.8.0 > > > Key: IO-721 > URL: https://issues.apache.org/jira/browse/IO-721 > Project: Commons IO > Issue Type: Bug > Components: Utilities >Affects Versions: 2.8.0 > Environment: Ubuntu 20.04 LTS > Groovy 3.0.x > Java 11 (from Ubuntu packages) >Reporter: Dirk Heinrichs >Priority: Major > > A simple > {code:java} > FileUtils.copyDirectory(source, dest, glob) {code} > works fine when using Commons-IO 2.7, but fails with > {code:java} > Caught: java.io.IOException: Failed setLastModified on /path/to/source > java.io.IOException: Failed setLastModified on /path/to/source > at > org.apache.commons.io.FileUtils.setLastModified(FileUtils.java:2561) > at > org.apache.commons.io.FileUtils.doCopyDirectory(FileUtils.java:1361) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:733) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:659) > at org.apache.commons.io.FileUtils.copyDirectory(FileUtils.java:606) > {code} > after update to 2.8.0. From reading the documentation, it's also my > understanding that "setLastModified()" should be executed on "dest" to set > the same modification time as "source", but *not* on "source". -- This message was sent by Atlassian Jira (v8.3.4#803005)