Created attachment 29757 [details] firstCall.diff The problem appears in version 1.8.4 and in revision 1421898. I attached a one-line patch (firstCall.diff) that fixes it. In method "FTPTaskMirrorImpl.makeRemoteDir", there are two calls to "dir.indexOf("/") == 0". These calls should be "dir.startsWith("/")". The intent of the call is more explicit with "startsWith" than with "indexOf(..) == 0". "startsWith" is also more efficient than "indexOf", because "startsWith" tries to match only the start of the string, while "indexOf" searches until the first occurrence. There are many calls to "String.startsWith" in Ant (just like in the proposed patch), for example, in methods "AntlibDefinition.setURI", "AntClassLoader.isParentFirst", "ComponentHelper.checkNamespace", "Execute.getVMSLogicals", "ExecTask.isPath", "Jar.writeIndexLikeList", "Definer.makeResourceFromURI", "PathTokenizer.nextToken", etc. I attached a second one-line patch (secondCall.diff) for the second call.
Created attachment 29758 [details] secondCall.diff
svn revision 1554813