FSFS fsfs = root.getOwner();
Map entries = node.getDirEntries(fsfs);
for (Iterator entriesIter = entries.values().iterator(); entriesIter.hasNext();) {
FSEntry entry = (FSEntry) entriesIter.next();
String kidPath = SVNPathUtil.getAbsolutePath(SVNPathUtil.append(path, entry.getName()));
FSRevisionNode kidNode = root.getRevisionNode(kidPath);
if (kidNode.hasMergeInfo()) {
SVNProperties propList = kidNode.getProperties(fsfs);
String mergeInfoString = propList.getStringValue(SVNProperty.MERGE_INFO);
if (mergeInfoString == null) {
SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.FS_CORRUPT,
"Node-revision #''{0}'' claims to have mergeinfo but doesn''t", entry.getId());
SVNErrorManager.error(err, SVNLogType.FSFS);
}
Map kidMergeInfo = SVNMergeInfoUtil.parseMergeInfo(new StringBuffer(mergeInfoString), null);
result.put(kidPath, kidMergeInfo);
}
if (kidNode.hasDescendantsWithMergeInfo()) {
crawlDirectoryForMergeInfo(root, kidPath, kidNode, result);
}
}
return result;
}