diff --git a/src/main/org/apache/tools/ant/taskdefs/Sync.java b/src/main/org/apache/tools/ant/taskdefs/Sync.java index 8fd8d393c..8da177010 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Sync.java +++ b/src/main/org/apache/tools/ant/taskdefs/Sync.java @@ -135,6 +135,11 @@ public class Sync extends Task { int removedDirCount = 0; if (!myCopy.getIncludeEmptyDirs()) { + if (syncTarget != null + && syncTarget.getPreserveEmptyDirs() != Boolean.TRUE) { + preservedDirectories.clear(); + } + removedDirCount = removeEmptyDirectories(toDir, false, preservedDirectories); } else { // must be syncTarget.preserveEmptydirs == FALSE diff --git a/src/tests/antunit/taskdefs/sync-test.xml b/src/tests/antunit/taskdefs/sync-test.xml index 1eab7a409..4a708ba0d 100644 --- a/src/tests/antunit/taskdefs/sync-test.xml +++ b/src/tests/antunit/taskdefs/sync-test.xml @@ -87,4 +87,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +