SVNProperties props = new SVNProperties();
if (kind == SVNNodeKind.DIR) {
Collection children = repos.getDir(path, revNumber, props, SVNDirEntry.DIRENT_KIND,
SVNDepth.FILES.compareTo(depth) <= 0 ? new ArrayList() : null);
if (propName != null) {
SVNPropertyValue value = props.getSVNPropertyValue(propName);
if (value != null) {
handler.handleProperty(url, new SVNPropertyData(propName, value, getOptions()));
}
} else {
for (Iterator names = props.nameSet().iterator(); names.hasNext();) {
String name = (String) names.next();
if (name.startsWith(SVNProperty.SVN_ENTRY_PREFIX)
|| name.startsWith(SVNProperty.SVN_WC_PREFIX)) {
continue;
}
SVNPropertyValue value = props.getSVNPropertyValue(name);
handler.handleProperty(url, new SVNPropertyData(name, value, getOptions()));
}
}
if (SVNDepth.FILES.compareTo(depth) <= 0) {
checkCancelled();
for (Iterator entries = children.iterator(); entries.hasNext();) {
SVNDirEntry child = (SVNDirEntry) entries.next();
SVNURL childURL = url.appendPath(child.getName(), false);
String childPath = "".equals(path) ? child.getName() : SVNPathUtil.append(path, child.getName());
SVNDepth depthBelowHere = depth;
if (child.getKind() == SVNNodeKind.DIR && depth == SVNDepth.FILES) {
continue;
}
if (depth == SVNDepth.FILES || depth == SVNDepth.IMMEDIATES) {
depthBelowHere = SVNDepth.EMPTY;
}
doGetRemoteProperty(childURL, childPath, repos, propName, rev, depthBelowHere, handler);
}
}
} else if (kind == SVNNodeKind.FILE) {
repos.getFile(path, revNumber, props, null);
if (propName != null) {
SVNPropertyValue value = props.getSVNPropertyValue(propName);
if (value != null) {
handler.handleProperty(url, new SVNPropertyData(propName, value, getOptions()));
}
} else {
for (Iterator names = props.nameSet().iterator(); names.hasNext();) {
String name = (String) names.next();
if (name.startsWith(SVNProperty.SVN_ENTRY_PREFIX)
|| name.startsWith(SVNProperty.SVN_WC_PREFIX)) {
continue;
}
SVNPropertyValue value = props.getSVNPropertyValue(name);
handler.handleProperty(url, new SVNPropertyData(name, value, getOptions()));
}
}
} else if (kind == SVNNodeKind.NONE) {
SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.ENTRY_NOT_FOUND,