diff --git a/WHATSNEW b/WHATSNEW
index 8fa1f3932..f1cd421fe 100644
--- a/WHATSNEW
+++ b/WHATSNEW
@@ -507,6 +507,11 @@ Fixed bugs:
long file names in GNU longfile mode.
Bugzilla Report 47653.
+ * The tar task failed to recognize that the archive had to be
+ (re-)created in some cases where the sources are filesystem based
+ resources but not filesets.
+ Bugzilla Report 48035.
+
Other changes:
--------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/Tar.java b/src/main/org/apache/tools/ant/taskdefs/Tar.java
index 2e89c4d19..41a2fd988 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Tar.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Tar.java
@@ -581,9 +581,13 @@ public class Tar extends MatchingTask {
Vector files = (Vector) basedirToFilesMap.get(base);
if (files == null) {
files = new Vector();
- basedirToFilesMap.put(base, new Vector());
+ basedirToFilesMap.put(base, files);
+ }
+ if (base == Copy.NULL_FILE_PLACEHOLDER) {
+ files.add(r.getFile().getAbsolutePath());
+ } else {
+ files.add(r.getName());
}
- files.add(r.getName());
}
iter = basedirs.iterator();
while (iter.hasNext()) {
diff --git a/src/tests/antunit/taskdefs/tar-test.xml b/src/tests/antunit/taskdefs/tar-test.xml
index 8defb3f9e..5fd700533 100644
--- a/src/tests/antunit/taskdefs/tar-test.xml
+++ b/src/tests/antunit/taskdefs/tar-test.xml
@@ -22,6 +22,7 @@
+
@@ -72,4 +73,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+