diff --git a/docs/manual/CoreTasks/unpack.html b/docs/manual/CoreTasks/unpack.html
index 915a73ea9..1a7eac29f 100644
--- a/docs/manual/CoreTasks/unpack.html
+++ b/docs/manual/CoreTasks/unpack.html
@@ -56,6 +56,31 @@ does not exist.
expands test.tar.gz to subdir/test.tar (assuming
subdir is a directory).
+Related tasks
+
+
+<gunzip src="some-archive.gz" dest="some-dest-dir"/>
+
+
+is identical to
+
+
+<copy todir="some-dest-dir">
+ <gzipresource>
+ <file file="some-archive.gz"/>
+ </gzipresource>
+ <mapper type="glob" from="*.gz" to="*"/>
+</copy>
+
+
+The same is also true for <bunzip2>
and
+<bzip2resource>
. <copy>
offers
+additional features like filtering files on the fly,
+allowing a file to be mapped to multiple destinations, preserving the
+last modified time or a configurable file system timestamp
+granularity.
+
Copyright © 2000-2001,2004-2005 The Apache Software Foundation. All rights
Reserved.
diff --git a/docs/manual/CoreTasks/unzip.html b/docs/manual/CoreTasks/unzip.html
index 56beac1ee..8a8ce8173 100644
--- a/docs/manual/CoreTasks/unzip.html
+++ b/docs/manual/CoreTasks/unzip.html
@@ -117,6 +117,38 @@ nested element.
<mapper type="flatten"/>
</unzip>
+
+Related tasks
+
+
+<unzip src="some-archive" dest="some-dir"<
+ <patternset>
+ <include name="some-pattern"/>
+ </patternset>
+ <mapper type="some-mapper"/>
+</unzip>
+
+
+is identical to
+
+
+<copy todir="some-dir" preservelastmodified="true"<
+ <zipfileset src="some-archive">
+ <patternset>
+ <include name="some-pattern"/>
+ </patternset>
+ </zipfileset>
+ <mapper type="some-mapper"/>
+</copy>
+
+
+The same is also true for <untar>
and
+<tarfileset>
. <copy>
offers
+additional features like filtering files on the fly,
+allowing a file to be mapped to multiple destinations or a
+configurable file system timestamp granularity.
+
Copyright © 2000-2005 The Apache Software Foundation. All rights
Reserved.
diff --git a/src/etc/testcases/taskdefs/bunzip2.xml b/src/etc/testcases/taskdefs/bunzip2.xml
index c34724771..d5878bc17 100644
--- a/src/etc/testcases/taskdefs/bunzip2.xml
+++ b/src/etc/testcases/taskdefs/bunzip2.xml
@@ -14,4 +14,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/etc/testcases/taskdefs/gunzip.xml b/src/etc/testcases/taskdefs/gunzip.xml
index 84d559892..5e3b0e972 100644
--- a/src/etc/testcases/taskdefs/gunzip.xml
+++ b/src/etc/testcases/taskdefs/gunzip.xml
@@ -24,4 +24,13 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/etc/testcases/taskdefs/untar.xml b/src/etc/testcases/taskdefs/untar.xml
index def2d8449..2809b1ebb 100644
--- a/src/etc/testcases/taskdefs/untar.xml
+++ b/src/etc/testcases/taskdefs/untar.xml
@@ -4,6 +4,8 @@
+
+
@@ -59,4 +61,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/testcases/org/apache/tools/ant/taskdefs/BUnzip2Test.java b/src/testcases/org/apache/tools/ant/taskdefs/BUnzip2Test.java
index b44ae803f..8d6dd21fe 100644
--- a/src/testcases/org/apache/tools/ant/taskdefs/BUnzip2Test.java
+++ b/src/testcases/org/apache/tools/ant/taskdefs/BUnzip2Test.java
@@ -48,4 +48,11 @@ public class BUnzip2Test extends BuildFileTest {
FILE_UTILS.contentEquals(project.resolveFile("expected/asf-logo-huge.tar"),
project.resolveFile("asf-logo-huge.tar")));
}
+
+ public void testDocumentationClaimsOnCopy() throws java.io.IOException {
+ executeTarget("testDocumentationClaimsOnCopy");
+ assertTrue("File content mismatch after bunzip2",
+ FILE_UTILS.contentEquals(project.resolveFile("expected/asf-logo-huge.tar"),
+ project.resolveFile("asf-logo-huge.tar")));
+ }
}
diff --git a/src/testcases/org/apache/tools/ant/taskdefs/GUnzipTest.java b/src/testcases/org/apache/tools/ant/taskdefs/GUnzipTest.java
index 6708fc784..93ce873eb 100644
--- a/src/testcases/org/apache/tools/ant/taskdefs/GUnzipTest.java
+++ b/src/testcases/org/apache/tools/ant/taskdefs/GUnzipTest.java
@@ -58,4 +58,9 @@ public class GUnzipTest extends BuildFileTest {
project.resolveFile("asf-logo.gif")));
}
+ public void testDocumentationClaimsOnCopy() throws java.io.IOException {
+ executeTarget("testDocumentationClaimsOnCopy");
+ assertTrue(FILE_UTILS.contentEquals(project.resolveFile("../asf-logo.gif"),
+ project.resolveFile("asf-logo.gif")));
+ }
}
diff --git a/src/testcases/org/apache/tools/ant/taskdefs/UntarTest.java b/src/testcases/org/apache/tools/ant/taskdefs/UntarTest.java
index cc366641c..eac58580d 100644
--- a/src/testcases/org/apache/tools/ant/taskdefs/UntarTest.java
+++ b/src/testcases/org/apache/tools/ant/taskdefs/UntarTest.java
@@ -82,4 +82,10 @@ public class UntarTest extends BuildFileTest {
assertTrue(FILE_UTILS.contentEquals(project.resolveFile("../asf-logo.gif"),
project.resolveFile("asf-logo.gif")));
}
+
+ public void testDocumentationClaimsOnCopy() {
+ executeTarget("testDocumentationClaimsOnCopy");
+ assertFalse(getProject().resolveFile("untartestout/1/foo").exists());
+ assertTrue(getProject().resolveFile("untartestout/2/bar").exists());
+ }
}