From ff6ef3c0c9f17d03e8bfdc866297e3f787b92250 Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Wed, 27 Aug 2003 10:07:11 +0000 Subject: [PATCH] Don't connect to remote site when you know there is nothing to transfer. also fixes PR: 22726 git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@275147 13f79535-47bb-0310-9956-ffa450edef68 --- .../tools/ant/taskdefs/optional/ssh/Scp.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ssh/Scp.java b/src/main/org/apache/tools/ant/taskdefs/optional/ssh/Scp.java index 1489ddb27..0e810b65e 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/ssh/Scp.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/ssh/Scp.java @@ -197,17 +197,22 @@ public class Scp extends SSHBase { Session session = null; try { - session = openSession(); List list = new ArrayList(fileSet.size()); for (Iterator i = fileSet.iterator(); i.hasNext();) { FileSet set = (FileSet) i.next(); - list.add(createDirectory(set)); + Directory d = createDirectory(set); + if (d != null) { + list.add(d); + } } + if (!list.isEmpty()) { + session = openSession(); ScpToMessage message = new ScpToMessage(session, list, file); message.setLogListener(this); message.execute(); + } } finally { if (session != null) { session.disconnect(); @@ -275,6 +280,7 @@ public class Scp extends SSHBase { DirectoryScanner scanner = set.getDirectoryScanner(getProject()); Directory root = new Directory(scanner.getBasedir()); String[] files = scanner.getIncludedFiles(); + if (files.length != 0) { for (int j = 0; j < files.length; j++) { String[] path = Directory.getPath(files[j]); Directory current = root; @@ -290,7 +296,10 @@ public class Scp extends SSHBase { } } } - + } else { + // skip + root = null; + } return root; } }