You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by bo...@apache.org on 2008/09/08 14:44:53 UTC

svn commit: r693081 - /ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java

Author: bodewig
Date: Mon Sep  8 05:44:52 2008
New Revision: 693081

URL: http://svn.apache.org/viewvc?rev=693081&view=rev
Log:
don't delete plain files with symlink, must have been broken by my last changes to symlink

Modified:
    ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java

Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java?rev=693081&r1=693080&r2=693081&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java Mon Sep  8 05:44:52 2008
@@ -466,11 +466,22 @@
      */
     public static void deleteSymlink(File linkfil, Task task)
         throws IOException {
-        if (!linkfil.exists()) {
+        if (FILE_UTILS.isDanglingSymbolicLink(linkfil.getParentFile(),
+                                              linkfil.getName())) {
             linkfil.delete();
             return;
         }
 
+        if (!FILE_UTILS.isSymbolicLink(linkfil.getParentFile(),
+                                       linkfil.getName())) {
+            // plain file, not a link
+            return;
+        }
+
+        if (!linkfil.exists()) {
+            throw new FileNotFoundException("No such symlink: " + linkfil);
+        }
+
         // find the resource of the existing link:
         File canfil = linkfil.getCanonicalFile();