SVNVersionedProperties properties = adminArea.getProperties(adminArea.getThisDirName());
String externalsValue = properties.getStringPropertyValue(SVNProperty.EXTERNALS);
if (externalsValue != null) {
SVNExternal[] externals = SVNExternal.parseExternals(adminArea.getRoot().getAbsolutePath(), externalsValue);
for (int i = 0; i < externals.length; i++) {
SVNExternal info = externals[i];
File srcPath = new File(adminArea.getRoot(), info.getPath());
File dstPath = new File(to, info.getPath());
if (SVNPathUtil.getSegmentsCount(info.getPath()) > 1) {
if (!dstPath.getParentFile().exists() && !dstPath.getParentFile().mkdirs()) {
SVNErrorManager.error(SVNErrorMessage.create(SVNErrorCode.CLIENT_IS_DIRECTORY, "Could not create directory ''{0}''", dstPath.getParentFile()), SVNLogType.WC);
}
}
copyVersionedDir(srcPath, dstPath, revision, eolStyle, force, SVNDepth.INFINITY);