diff --git a/src/main/org/apache/tools/ant/taskdefs/Touch.java b/src/main/org/apache/tools/ant/taskdefs/Touch.java index 57a94e60b..bd049d4f6 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Touch.java +++ b/src/main/org/apache/tools/ant/taskdefs/Touch.java @@ -180,7 +180,11 @@ public class Touch extends Task { log("modification time of files cannot be set in JDK 1.1", Project.MSG_WARN); return; - } else { + } + + boolean resetMillis = false; + if (millis < 0) { + resetMillis = true; millis = System.currentTimeMillis(); } @@ -205,6 +209,10 @@ public class Touch extends Task { touch(new File(fromDir, srcDirs[j])); } } + + if (resetMillis) { + millis = -1; + } } protected void touch(File file) throws BuildException {